Tutorial Install Web Server Nginx Mysql dan php-fpm di ubuntu
Pada kesempatan kali ini saya akan memberikan sebuah tutorial bagaimana cara install web server, saya bisanya menggunakan Apache 2 tapi pada kesempatan kali ini saya ingin mencoba menggunakan web server nginx, Tidak lain dan tidak bukan hanya sekedar untuk mencoba saja.
Jika kalian membuka tutorial ini saya rasa sobat semua sudah sangat memahami apa itu yang dimaksud dalam judul di atas, sehingga rasanya tidak perlu saya menjelaskan lagi lebih detail terkait hal tersebut, maka dari itu langsung saja kita mengeksekusi apa yang akan kita lakukan.
Baca Juga : Terbaru Cara Membackup Virtual Machine di Proxmox
Persiapan Install Web Server.
Dalam hal ini saya rasa teman-teman sudah berhasil menginstall server, dalam hal ini yang saya gunakan adalah server ubuntu versi 20.04, pertama yang harus dilakukan adalah update repository dengan mengetikan perintah dibawah ini pada kolom terminal server kalian.
# sudo apt-get update
Pastikan juga kalau sobat semua dalam posisi aksess root (super user), sejujurnya jika sudah dalam akses root dalam setiap perintah tidak perlu menambahkan sudo, tapi untuk berjaga-jaga saja dalam tutorial ini saya menambahkan kalimat sudo.
Mengganti waktu server/ localtime ke jakarta.
perlu sobat ketahui juga saya pribadi saat pertama kali menginstall dan mengupdate repository adalah mengkonfigurasi localtime pada server agar sesuai dengan tempat saya berada dan jam yang ingin saya gunakan, dalam beberapa kebutuhan ini harus terkonfigurasi dengan baik agar tidak ada system yang error atau bermasalah dalam server tersebut, untuk caranya adalah sebagai berikut.
Membackup localtime sebelumnya yang ada di folder /etc, gunakan perintah ini
# mv /etc/localtime /etc/localtime-asal
Karena saya ingin menggunakan waktu jakarta maka kita copy localtime jakarta ke folder /etc, perintahnya adalah sebagai berikut.
# cp /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
Satu lagi yang biasa saya lakukan juga menggubah timezone, silahkan masukan perintah seperti dibawah ini.
# timedatectl set-timezone Asia/Jakarta
Install Nginx
Selanjutnya setelah localtime dan timezone terkonfigurasi dengan baik, selanjutnya kita install Web Server nginx, silahkan gunakan perintah dibawah ini dan tunggu sampai proses selesai.
# sudo apt-get install nginx -y
Tahapan selanjutnya kita set di firewall ufw untuk mengizinkan nginx bisa di aksess oleh orang dari luar, silahkan gunakan perntah dibawah ini.
# ufw allow 'Nginx Full'
Selanjutnya kita gunakan ketiga perintah dibawah ini untuk memastikan bahwa nginx sudah berjalan dengan baik, sesuai dengan apa yang kita inginkan.
# systemctl enable nginx
# systemctl start nginx
# systemctl status nginx
Konfigurasi Nginx
Tahapan selanjutnya adalah kita melakukan sedikit konfigurasi agar server nginx ini bisa berjalan dengan baik, silahkan ikuti langkah-langkah yang biasa saya lakukan di bawah ini.
Kita backup/rename file konfigurasi virtualhost default dari si nginx dengan menggunakan perintah ini.
# mv /etc/nginx/sites-available/default /etc/nginx/sites-available/ASLI-default
Setelah terbackup, lanjut kita membuat file default baru dengan menggunakan editor nano dengan menggunakan perintah dibawah ini.
# nano /etc/nginx/sites-available/default
Selanjutnya silahkan masukan secript di bawah ini :
server { listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
#log files
access_log /var/log/nginx/default-nginx_access.log;
error_log /var/log/nginx/default-nginx_error.log;
location / {
try_files $uri $uri/ =404;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Setelah selesai, silahkan keluar dai editor nano dengan melakukan save terlebih dahulu, gunakan tombol Ctrl + X, lalu tekan tombol Y lalu Enter.
tahapan selanjutnya adalah cek konfigurasi yang sudah kita lakukan dengan menggunakan perintah dibawah ini.
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika keluar keterangan seperti di dua baris diatas berarti konfigurasi yang kita lakukan sudah benar, selanjutnya kita restart nginx dengan menggunakan perintah di bawah ini.
# service nginx restart
Sebagai tambahan, untuk mengecek user apa yang menjalankan nginx, bisa menggunakan kode ini.
# ps -eo user,comm | grep nginx
Install PHP
Seperti yang sama-sama kita ketahui bahwa saat kita menggunakan nginx kita juga perlu menginstall php dan php yang akan kita install adalah php-fpm, bagaimana cara instalnya, silahkan gunakan perintah dibawah ini.
# apt-get install php-fpm php-cli php-mysql -y
Jika kamu ingin menginstall aplikasi moodle dalam web server ini, saya menyarankan untuk menginstall beberapa module php yang nantinya akan dibutuhkan dengan menggunakan perintah dibawah ini.
# apt-get install php-pgsql php-mbstring php-xmlrpc php-zip php-gd php-xml php-bcmath php-ldap php-pspell php-curl php-intl php-soap -y
Selanjutnya tunggu sampai proses instalasi selesai, setelah instalasi selesai kita bisa mengecek versi php yang terinstal dengan menggunakan perintah di bawah ini
# php -v
Ini perlu kita ketahui karena mengetahui versi php yang kita gunakan akan sangat membantu dalam proses konfigurasi, jika sobat melihat konfigurasi yang sudah kita lakukan pada nginx di dalam folder default, ada secrip seperti ini "fastcgi_pass unix:/run/php/php7.4-fpm.sock;" secript tersebut tergantung pada versi php yang kita gunakan, saya dalam ubuntu versi 20.04 ini menggunakan php versi 7.4 maka secript di atas juga tertulisnya seperti ini "php7.4-fpm.sock" jadi silahkan sesuaikan dengan versi php masing-masing.
Selanjutnya juga kita bisa melihat extension apa saja yang terinstall dalam php kita, sobat bisa menggunakan perintah dibawah ini.
# php -m
Konfigurasi PHP
Setelah prosess instalasi selesai, saatnya kita mengkonfigurasi php tersebut agar sesuai dengan kenginginan kita dan file konfigurasi tersebut ada dalam file php.ini untuk mengetahui dimana lokasi file tersebut silahkan gunakan perintah dibawah ini
# php -i | grep php.ini
Setelah memasukan perintah di atas pada terminal saya tertulis bahwa file php.ini berada dalam folder : /etc/php/7.4/fpm/php.ini ,
Yang biasa saya lakukan, sebelum melakukan konfigurasi apapun, saya selalu membackup file aslinya agar jika ada masalah bagi saya mudah untuk mengembalikanya, langkah pertama kita backup dulu file php.ini dengan menggunakan perintah :
# cp /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/ASLI-php.ini
Setelah terbackup di ASLI-php.ini seanjutnya kita mulai mengkonfigurasi file php.ini dengan menggunakan perintah di bawah ini
# nano /etc/php/7.4/fpm/php.ini
Saya pribadi biasanya mengkonfigurasi beberapa hal saja diantaranya.
- memory_limit = 256M
- date.timezone = Asia/Jakarta
Untuk mengisi memory_limi saya menyesuaikan dengan kapasitas ram yang ada di server kita, misal kita memiliki ram 8GB maka saya bisanya saya menulis 2 GB, jadi 1\4 dari ram yang saya gunakan.
Untuk data timezone, ya itu menyesuaikan dengan daerah masing-masing.
Untuk kamu yang akan menginstall moodle, saya sarankan untuk menyesuaikan pada beberapa point dibawah ini :
- max_execution_time = 300
- max_input_time = 300
- max_input_vars = 5000
- memory_limit = 256M
- post_max_size = 32M
- file_uploads = On
- upload_max_filesize = 32M
- date.timezone = Asia/Jakarta
tahapan selanjutnya adalah merestart PHP, setelah selesai kita melakukan konfigurasi agar yang kita lakukan bisa langsung ter realisasi maka silahkan untuk merestart php tersebut dengan menggunakan perintah di bawah ini :
# service php7.4-fpm restart
Install PHP Ioncube
Sebagai tambahan buat kamu yang membutuhkan extension ioncube cara menginstallnya adalah sebagai berikut. Tapi saya ingatkan untuk berkepentingan saja, seperti ingin menginstall aplikasi php yang di enkripsi oleh ioncube.
Pertama kita download ioncube dengan menggunakan printah dibawah ini :
# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Selanjutnya kita extrak ke folder /user/local/ioncube dengan menggunakan perintah dibawah ini
# tar xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local
Selanjutnya kita konfigurasi kembali file php.ini dengan menggunakan perintah :
# nano /etc/php/7.4/fpm/php.ini
Pada file php.ini silahkan tambahkan secrip seperti ini
zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so
Perlu diperhatikan bahwa kenapa yang dipilih adalah file 7.4.so ini menyesuaikan dengan versi php yang saat ini sedang digunakan pada server kalian.
Setelah itu kita restart php dengan menggunakan perintah
# service php7.4-fpm restart
Untuk melihat bahwa ioncube sudah terinstall kita cek mengguakan perintah
# php -v
Akan keluar informasi bahwa ioncube sudah terinstal, atau bisa juga dilihat menggukan function phpinfo.
Install MySql
Selanjutnya adalah kita menginstall databases MySql, caranya yaitu dengan mengetikan perintah di bawah ini.
# sudo apt-get install mysql-server mysql-client -y
Tunggu sampai prosess instalasi selesai, selanjutnya adalah mengkonfigurasi keamanan pada mysql tersebut, silahkan gunakan perintah dibawah ini
# sudo mysql_secure_installation
Selanjutnya adalah masukan password untuk user root dan sesuaikan dengan apa yang saya tulis dibawah ini :
- Enter current password for root (enter for none): Just press the Enter
- Set root password? [Y/n]: Y
- New password: Enter password
- Re-enter new password: Repeat password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
Jika terjadi masalah dalam proses ini, silahkan untuk mengunjungi postingan saya sebelumnya
Baca Juga : Cara Mudah Mengatasi Failed! Error: SET PASSWORD has no significance
Untuk cara melihat versi MySql yang sedang kita gunakan adalahs ebagai berikut :
- Lihat Versi MySql
# mysql -u root -p
Akan diminta password root si mysql, masukan saja passwordnya, selanjutnya gunakan perintah dibawah ini
> select version();
Jika ingin keluar dari MySql, gunakan perintah dibawah ini.
> exit;
Membuat user dan database di MySql menggunakan perintah
langkah selanjutnya adalah kita mengenal beberapa perintah di MySql yang bisa kita gunakan untu mengelola user dan database, langkah pertama adalah login ke MySql menggunakan user root, gunakan perintah di bawah ini
# mysql -u root -p
Selanjutnya adalah membuat user "userpercobaan" dan password "@UserAja" di mysql.
> CREATE USER 'userpercobaan'@'localhost' IDENTIFIED BY '@UserAja';
Membuat database dengan nama "db_percobaan" di MySql.
> CREATE DATABASE db_percobaan;
Memberikan seluruh hak aksess database "db_percobaan" ke user "userpercobaan".
> GRANT ALL ON db_percobaan.* TO 'userpercobaan'@'localhost';
Lanjut merestart database perintahnya dibawah ini
> flush privileges;
Untuk keluar silahkan gunakan perintah di bawah ini
> exit;
Sampai disini kita sudah mempersiapkan database dengan nama "db_percobaan" usernya "userpercobaan" dan passwordnya adalah "@UserAja".
Bagi yang masih bingung mungkin bisa dilihat lebih teliti lagi.
Sampai disini kita sudah selesai menginstall web Server Nginx, PHP dan juga database MySql, perlu teman-teman ketahui juga disini beberapa kali saya memberikan saran untuk yang ingin menginstall moodle ya karena kebanyakan pertanyaan yang datang kesaya adalah bagaimana cara mempersiapkan web server untuk moodle apalagi di bulan yang lalu sedang padat-padatnya di banyak sekolah mengadakan PAT (Penilaian Akhir Tahun) menggunakan aplikasi tersebut.
Penutup
Mungkin cukup sekian pembahasan pdn.my.id tentang Tutorial Install Web Server Nginx Mysql dan php-fpm di ubuntu, seamat mencoba dan semoga berhasil.
Posting Komentar untuk "Tutorial Install Web Server Nginx Mysql dan php-fpm di ubuntu"