1. Kevin Chan
  2. server-config




What is This Repository For?

Server-config is a set of shell scripts to install packages and software to provision an Ubuntu web server.

Base web server and proxy uses nginx. There are example configurations on how to proxy to php-fpm and uwsgi services. The scripts also install mysql and postgresql by default.

Current version: 0.3.8

How to Use

  • Clone repository to your Ubuntu server -- the example below clones the repository to /usr/local/src/packages:

    cd /usr/local/src
    [ ! -d packages ] && mkdir packages
    hg clone https://bitbucket.org/kchan/server-config
  • Run install-scripts to install the scripts into your /usr/local/ directory (the default install location is /usr/local/server-config).

    cd server-config
  • The installation script will create symlinks of the server_config and update_server scripts in /usr/local/sbin/.

    /usr/local/sbin/server_config -> /usr/local/server-config/bin/server_config
    /usr/local/sbin/update_server -> /usr/local/server-config/bin/update_server
  • Run the server_config script to begin the package installation process. The server_config script will install base packages to set up an Ubuntu web server. To display instructions for this script, do:

    server_config --help
    # server_config is a wrapper to run server configuration scripts.
    # * Default scripts are located in:
    # * This script must be run by root.
    # Usage: server_config -h | [-y] script(s)
    #   -h           # display this usage info
    #   -y           # do not prompt to confirm command execution
    #   -l|--list    # list scripts in installed scripts directory
    # * You must define DEFAULT_INSTALL_SCRIPTS in /etc/server-config/server_config.config
    #   in order for this script to run installation and update scripts.
    # scripts in /usr/local/sbin/server-config/scripts:
    # create-packages-directory
    # install-base-packages
    # install-base-user-tools
    # install-fail2ban
    # install-monit
    # install-mysql
    # install-nginx
    # install-php-fpm
    # install-postgresql
    # install-python-tools
    # install-redis
    # install-security-tools
    # install-sqlite3
    # install-vsftpd
    # run-updates
    # update-sshd-config
  • The package contains an update_server utility script you can use to update your Ubuntu server. The helper script will run package update commands equivalent to:

    aptitude update && aptitude safe-upgrade -y

I.e. to run regular server updates:

    update_server [-y]

More Info

Contact Kevin Chan kefin@makedostudio.com.