Artikel ini akan memberikan panduan langkah demi langkah yang dapat anda ikuti dalam melakukan instalasi dan konfigurasi standar LAMP di VPS Magnet Hosting anda dengan template Operating System Debian Etch (Debian 4.0).
Berikut secara lengkap aplikasi yang akan kita install dan konfigurasi;
Catatan;
Instalasi Paket yang dibutuhkan
apt-get install libc6 libc6-dev libc6-i686 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl linux-kernel-headers psmisc zlib1g-dev
Instalasi MySQL
apt-get install mysql-server mysql-client libmysqlclient15-dev
Apabila anda ingin agar MySQL server listen di semua IP Address / interface dan tidak hanya localhost / 127.0.0.1, silahkan edit /etc/mysql/my.cnf.
nano /etc/mysql/my.cnf
Berikan komentar pada baris berikut;
... #bind-address = 127.0.0.1 ...
Berikan root password localhost untuk MySQL server anda; Ganti passwordrootsql dengan password yang anda inginkan;
mysqladmin -u root password passwordrootsql
Instalasi Apache dan PHP5
apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
Edit /etc/apache2/mods-available/dir.conf, sesuaikan Directory Index dengan yang kita inginkan;
nano /etc/apache2/mods-available/dir.conf
Dalam hal ini ubah menjadi;
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
</IfModule>
Edit /etc/apache2/ports.conf dan tambahkan listen 443, untuk port https apabila anda ingin menggunakannya;
nano /etc/apache2/ports.conf
Listen 80 Listen 443
Enable modul ssl, rewrite, suexec dan include; Kemudian reload Apache;
a2enmod ssl a2enmod rewrite a2enmod suexec a2enmod include /etc/init.d/apache2 force-reload
Install PHP5
apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Continue installing libc-client without Maildir support? --> Yes
Instalasi Proftpd
apt-get install proftpd ucf
Edit /etc/proftpd/proftpd.conf dan disable UseIPv6, juga tambahkan beberapa konfigurasi untuk konfigurasi proftpd;
nano /etc/proftpd/proftpd.conf
Edit
... UseIPv6 off ...
Tambahkan
... DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." ...
Restart Proftpd
/etc/init.d/proftpd restart
Tambahkan User untuk Virtual Host
Buat username untuk domain virtual anda dan buat Root Directory untuk www di dalam direktori user tersebut, dengan demikian modifikasi file atau data situs anda dapat dilakukan hanya melalui login ftp;
adduser username
Masuk sebagai user anda, dan pindah ke home direktori user terkait /home/username/ atau ~
su username cd ~ mkdir public_html ln -s public_html www
Data untuk situs anda bisa diupload ke dalam direktori www ataupun public_html, keduanya merupakan direktori yang sama.
Keluar dari user (kembali ke root);
exit cd /home/
Ubah permission home direktori user agar dapat diakses atau diproses oleh webserver;
chmod 0711 /home/username
Konfigurasi Virtual Host Apache
Buat file konfigurasi virtual host domain virtual anda di /etc/apache2/sites-available/, gantikan domainanda.tld dengan nama domain yang ingin anda gunakan;
cd /etc/apache2 nano sites-available/domainanda.tld
Tambahkan (buat) konfigurasi standar berikut; Modifikasi di kemudian hari yang terkait dengan domain tersebut dapat anda lakukan di file ini; Gantikan domainanda.tld dengan nama domain anda, dan username dengan username yang telah dibuat sebelumnya;
<VirtualHost *> ServerName domainanda.tld ServerAlias www.domaianda.tld ServerAdmin [email protected]
DocumentRoot /home/username/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/username/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
</Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
ErrorLog /var/log/apache2/domainanda.tld-error.log LogLevel warn CustomLog /var/log/apache2/domainanda.tld-access.log combined ServerSignature Off
</VirtualHost>
Enable site; dan Reload Apache;
a2ensite domainanda.tld /etc/init.d/apache2 reload
Menghilangkan Keterangan Versi Apache dan PHP
Langkah ini merupakan langkah tambahan, silahkan dilakukan apabila anda ingin melakukan langkah awal pengamanan server anda;
Menghilangkan versi Apache dapat dilakukan melalui merubah ServerTokens Full menjadi ServerTokens Prod
nano /etc/apache2/apache2.conf
Ubah ServerTokens menjadi Prod
... ServerTokens Prod ...
Menyembunyikan versi apache dilakukan dengan mengedit file;
/etc/php5/apache2/php.ini
Ubah expose_php menjadi off
... expose_php = Off ...
Restart Apache;
/etc/init.d/apache2 restart
Referensi;