<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def setup_webserver():
    '''Run setup tasks to set up a nicely configured webserver.

    Features:
     * owncloud service
     * fdroid repository
     * certificates via letsencrypt
     * and more

    The task is defined in file fabsetup_custom/fabfile_addtitions/__init__.py
    and could be customized by Your own needs.  More info: README.md
    '''
    run('sudo apt-get update')
    install_packages(packages_webserver)
    execute(custom.latex)
    execute(setup.solarized)
    execute(setup.vim)
    execute(setup.tmux)
    checkup_git_repo_legacy(url='git@github.com:letsencrypt/letsencrypt.git')
    execute(setup.service.fdroid)
    execute(setup.service.owncloud)
    # circumvent circular import, cf. http://stackoverflow.com/a/18486863
    from fabfile import dfh, check_reboot
    dfh()
    check_reboot()