Debian 8 (Jessie) – All-in-one installation notes

Hey Readers

As you may know already, we made the jump from Fedora last week.

After a weekend of Debian Linux manual reading and catch up, we completed out first Debian server in our lab. Here is our technical note for those who need to build a similar server in a rush. As all Systems and Network administrators will agree, ” The best plan is a well defined plan.” so start laying out what you need and create a check list. Preparation is king! (While you are reading this, you better off started your Debian distribution download.)

Preparation

  • Determine which Debian download you will need and related installation guide
  • Work with Network Administrator and get information ready (IP address, Subnet mask, DNS, Routing and Gateway info.)
  • Work with System Administrator¬† and get info. (Server name, Domain name, NIS / NFS)
  • Create a checklist of server components for your Debian Server
    • LAMP (Linux, Apache, MySQL and PHP)
    • MySQL server will require remote access using MySQL workbench
    • Enable FTP for Apache website coding upload
    • Enable Apache virtual hosts support

Steps

  1. Install Debian
    • In our case, the Debian server will run as a VM (Virtual Machine), our SysAdmin already completed a VM configuration for us ahead of time. (Two CPUs with dual core, 500Mb RAM, 30GB disk)
    • Install Debian was straight forward, enter host name and IP address given by NetAdmin
    • We chose only SSH access and not to install additional component during the installation phase of Debian
    • We created a new user account for web admin purpose
    • After installation and reboot, we can sign on to system via SSH (Use Putty)
    • We updated the sources list for aptitude and check for any updates
      • Make a backup of ‘/etc/apt/sources.list’ to ‘/etc/apt/sources.list.original’ just in case
      • Edit /etc/apt/sources.list and make sure sources.list for Debian 8 “Jessie” is there
      • 
        deb http://httpredir.debian.org/debian jessie main
        deb-src http://httpredir.debian.org/debian jessie main
        
        deb http://httpredir.debian.org/debian jessie-updates main
        deb-src http://httpredir.debian.org/debian jessie-updates main
        
        deb http://security.debian.org/ jessie/updates main
        deb-src http://security.debian.org/ jessie/updates main
        
        
      • Sudo to root
      •  # aptitude update & aptitude upgrade 
  2. MySQL
    •  # aptitude install mysql-server mysql-client
    • During installation, MySQL will prompts you for root password, remember this is only for MySQL server.
    • After installation, it is the best to create a separate MySQL server user account
      • From localhost (ssh session), enter command
      •  # mysql -u root -p 
      • Press enter
      • Enter MySQL root password which you assigned during installation
      • mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
        mysql> FLUSH PRIVILEGES;
        mysql> FLUSH HOSTS;
        
      • Make a backup of ‘/etc/mysql/my.cnf’ to ‘/etc/mysql/my.cnf.original’ just in case
      • Edit ‘/etc/mysql/my.cnf’, edit bind-address and REM out skip-networking
      • bind-address = 0.0.0.0
        #skip-networking
        
      • Save file
      •  # service mysql restart 
      • After the restart, you can use regular Windows workstation loaded with MySQL workbench to access the installed MySQL server instance. Remember to use the separately created MySQL server user account for remote access. Make adjustment to that account to enhance security.
  3. FTP
    • # aptitude install vsftpd
      
    • No special instruction here but make sure logfiles are properly created and all transfers are logged for security measure
  4.  Apache
    • # aptitude install apache2 apache2-doc
      # mkdir -p /var/www/NewVirtualHost.com
      # chown -R webadmin:webadmin /var/www/NewVirtualHost.com
      # chmod -R 755 /var/www
      
    • Note the above, webadmin user is the account we created when we first install Debian (See Debian installation above)
    • # cd /etc/apache2/sites-available
      # cp 000-default.conf NewVirtualHost.com.conf
      
    • Update theNewVirtualHost.com.conf file (ServerName, DocumentRoot, etc)
    • # a2ensite NewVirtualHost.com.conf
      # service apache2 restart
      
    • Now you can use FTP software to upload website code to that directory /var/www/NewVirtualHost.com
  5. PHP
    •  # aptitude install php5 php5-mysql libapache2-mod-php5 
    • Make a backup of ‘/etc/apache2/apache2.conf’ to ‘/etc/apache2/apache2.conf.original’ just in case
    • Edit ‘/etc/apache2/apache2.conf’ and add line
    •  AddType application/x-httpd-php .php 

There you have it.

Enjoy, Team BTF

Leave a Reply

Your email address will not be published. Required fields are marked *