Langkah-Langkah Membangun Web Server di Ubuntu
Pendahuluan
Web server merupakan salah satu kebutuhan yang digunakan oleh user untuk website yang mempunyai kapasitas penyimpanan yang besar dan juga akses yang cepat untuk trafik yang besar dalam mencegah terjadinya down pada suatu website atau aplikasi. Pada dasarnya sebuah web server hanya membutuhkan sebuah software pengukung saja seperti nginx, apache, litespeed, dll. Namun saat ini website sudah sangat mengalami kemajuan yang sangat cepat sehingga dibutuhkan software lainnya yang mendukung untuk terbentuknya sebuah website seperti php, mysql, dll sesuai dengan kebutuhan.Langkah-Langkah Membangun Web Server di Ubuntu
Remote VPS
Akses VPS melalui remote SSH dengan perintah:
ssh root@ip_address_vps –p port_ssh_vps
Install Nginx Web Server
Kali ini kita akan melakukan proses instalasi Nginx Web Server pada VPS kita, Semua software yang nantinya akan kami install disini akan langsung mengarah ke repositori Ubuntu yang berarti kita dapat langsung menggunakan perintah apt-get untuk melakukan instalasi.
Apabila baru pertama kali melakukan instalasi melalui repositori Ubuntu, kita harus memperbaharui indek paket lokalnya terlebih dahulu. Baru kita dapat melakukan proses install.
sudo apt-get update
sudo apt-get install nginx
ip addr show eth0 | grep inet | awk ‘{ print $2; }’ | sed ‘s/\/.*$//’
Hasil dari perintah di atas akan menampilkan informasi seperi gambar dibawah ini.
Install MySQL Server
Sekarang kita telah memiliki web server selanjutnya yang dibutuhkan adalah menginstall MySQL Server untuk database server yang berguna untuk menyimpan dan mengelola data yang nantinya akan digunakan pada sebuah website. Gunakan perintah berikut ini untuk menginstall MySQL Server.
sudo apt-get install mysql-server
Saat dalam proses install anda akan diminta untuk memasukkan password root untuk MySQL Server anda.
Saat ini MySQL Server telah berhasil di install pada sistem anda, namun anda butuh sedikit mengkonfigurasi layanan MySQL ini, Kita perlu mengarahkan agar MySQL dapat membuat struktur direktori yang dibutuhkan untuk menyimpan database yang dibutuhkan.Jalankan perintah berikut ini untuk melakukannya:
sudo mysql_install_db
Selanjutnya, kita akan merubah beberapa pengaturan default MySQL yang dirasa nantinya dapat menjadi celah keamanan pada webserver kita, jalankan perintah berikut:
sudo mysql_secure_installation
pada saat proses berjalan anda akan diminta untuk memberikan konfirmasi bersedia atau tidak untuk merubah konfigurasi yang ditanyakan, kurang lebih prosesnya akan seperti berikut:
root@idch:~# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none):
OK, successfully used password, moving on…Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.You already have a root password set, so you can safely answer ‘n’.Change the root password? [Y/n] n
… skipping.By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.Remove anonymous users? [Y/n] y
… Success!Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y
… Success!By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.Remove test database and access to it? [Y/n] y
– Dropping test database…
ERROR 1008 (HY000) at line 1: Can’t drop database ‘test’; database doesn’t exist
… Failed! Not critical, keep moving…
– Removing privileges on test database…
… Success!Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.Reload privilege tables now? [Y/n] y
… Success!Cleaning up…All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.Thanks for using MySQL!Saat ini MySQL Server kita telah siap digunakan.Install PHP
Saat ini kita telah memiliki Nginx sebagai Web Server dan MySQL Server sebagai database namun kita membutuhkan sebuah komponen lagi untuk menghubungkan keduanya agar dapat berkerja secara dinamis, kita dapat menggunakan PHP untuk itu.
Jalankan perintah berikut untuk menginstall PHP
sudo apt-get install php5-fpm php5-mysql
Selanjutnya kita perlu melakukan konfigurasi pada beberapa file PHP agar dapat berfungsi dengan baik nantinya, Pertama buka file php.ini:sudo nano /etc/php5/fpm/php.ini
Kemudian cari cgi.fix_pathinfo pada file php.ini yang telah kita buka, lalu ubah nilainya menjadi “0”, sehingga menjadi seperti berikut:
cgi.fix_pathinfo=0
Lalu save dan restart layanan PHP nya menggunakan perintah:
sudo service php5-fpm restart
perintah tersebut akan mengaktifkan konfigurasi yang telah kita ubah sebelumnya.Konfigurasi Nginx Agar Terintegrasi PHP
Saat ini kita sudah memiliki seluruh komponen yang dibutuhkan, yang harus dilakukan sekarang yaitu memberitahu Nginx agar menggunakan PHP gar website dapat bekerja secara dinamis.
Buka file konfigurasi default Nginx dengan perintah
sudo nano /etc/nginx/sites-available/default
saat ini isi dari file default kurang lebih seperti dibawah ini:
server {
ubah isi file default menjadi seperti dibawah ini:
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
server {
Selanjutnya restart layanan Nginx dengan perintah:
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_name_or_IP;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sudo service nginx restart
Install phpMyAdmin
Wikipedia menjelaskan bahwa phpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa pemrograman PHP yang digunakan untuk menangani administrasi MySQL melalui Jejaring Jagat Jembar (World Wide Web). phpMyAdmin mendukung berbagai operasi MySQL, diantaranya (mengelola basis data, tabel-tabel, bidang (fields), relasi (relations), indeks, pengguna (users), perizinan (permissions), dan lain-lain).
Jalankan perintah berikut untuk menginstall phpMyAdmin:
sudo apt-get install phpmyadmin
pada saat proses instalasi akan diminta untuk memilih jenis webserver yang digunakan, karena tidak terdapat pilihan Nginx silahkan langsung lanjutkan dengan memilihOK
lalu Enter. Selanjutnya, akan muncul prompt yang menanyakan apakah anda ingin mengkonfigurasi dbconfig-common untuk database phpMyAdmin yang anda gunakan ?, PilihYES
untuk melanjutkan.Anda juga akan diminta untuk memasukkan root password dari MySQL yang di install sebelumnya.
Saat ini instalasi phpMyAdmin telah selesai, selanjutnya, buat sebuah symbolic link dari file instalasi ke direktori root Nginx dengan perintah:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html
Langkah terakhir adalah mengaktifkan module mcrypt, jalankan perintah berikut:
sudo php5enmod mcrypt
Selanjutnya restart layanan PHPnya:
sudo service php5-fpm restart
Langsung coba akses halaman phpMyAdmin dengan menggunakan URL:
http://ip_address_VPS/phpmyadmin
Komentar
Posting Komentar