LAMP stack merupakan sebuah group open source software yang umumnya di-install bersamaan pada sebuah dedicated server atau VPS guna menjalankan website atau aplikasi berbasis web. LAMP sendiri merupakan singkatan dari Sistem Operasi Linux, dengan web server Apache. Data disimpan pada sebuah database MySQL (menggunakan MariaDB) dan pemprosesan konten dinamis pada aplikasi dikerjakan oleh PHP. berikut ini step-by-step install lamp centos 7 :
Hal Yang Perlu Disiapkan
Sebelum memulai, diperlukan sebuah dedicated server atau VPS yang sudah di install CentOS 7 dengan IP statis dan akses root server.
Install Apache
Apache saat ini merupakan web server yang popular dan sering digunakan. Install Apache pada CentOS dapat menggunakanyum
paket manager. Paket manajer memudahkan install aplikasi menggunakan repository yang di kelola CentOS – tidak perlu install paket satu persatu. Install Apache menggunakan perintah berikut :
yum install httpd
Setelah instalasi berhasil, jalankan Apache dengan perintah berikut:
systemctl start httpd.service
Kemudian periksa apakah instalasi berhasil, hal ini dapat dilakukan dengan mengakses IP public Dedicated Server atau VPS melalui browser :
http://IP_Public_Server/
Apabila tidak ada kendala akan muncul tampilan default dari halaman CentOS 7 Apache :
Hal lain yang perlu diperhatikan adalah mengaktifkan apache pada saat boot sistem operasi, agar tidak perlu menjalankan ulang apache setelah reboot server. gunakan perintah berikut:
systemctl enable httpd.service
Bagaimana Jika Saya Tidak Tahu IP Public Server?
Pada CentOS 7 dapat digunakan perintah berikut untuk melihat IP public server :
ip address show
Atau dengan menjalankan perintah berikut sebagai alternatif:
curl http://icanhazip.com
Selesai dengan web server Apache, selanjutnya adalah install database server untuk Dedicated Server atau VPS.
Install MySQL (MariaDB)
MariaDB merupakan versi komunitas untuk sistem database relasional MySQL. Secara umum digunakan untuk mengatur dan memberi akses ke database sehingga website atau aplikasi berbasis web dapat menyimpan informasi /data. Karena peran penting ini, proses install lamp centos 7 tidak dapat lengkap tanpa instalasi sistem database terlebih dahulu
Untuk menginstall MariaDB juga digunakan perintah yum, namun kali ini dengan tambahan paket agar masing-masing komponen database dan database server dapat berkomunikasi satu-sama-lain :
yum install mariadb-server mariadb
Setelah proses instalasi selesai, jalankan MariaDB dengan perintah berikut ini :
systemctl start mariadb
Kemudian jalankan perintah berikut untuk setup database (setting password database dan merubah beberapa konfigurasi bawaan) :
mysql_secure_installation
Mengingat MySQL baru saja di-install, jangan hiraukan prompt yang muncul berisi peringatan input password MySQL. Kosongkan dengan menekan ‘Enter’. Selanjutnya prompt akan menanyakan apakah perlu untuk men-set root password MySQL, tekan ‘Y’ kemudian ‘Enter’ sebagaimana instruksi berikut :
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 MariaDB root user without the proper authorization. New password: ketik_password_disini Re-enter new password: ketik_password_disini Password updated successfully! Reloading privilege tables.. ... Success!
Sisanya cukup tekan ‘Enter’ pada tiap prompt yang muncul dan menerima pengaturan default. Hal ini akan menghapus sample user, disable remote login dan menyimpan pengaturan baru seperti password yang sudah di set sebelumnya. Install MariaDB dapat diselesaikan dengan perintah berikut, guna menjalankan MariaDB pada saat boot:
systemctl enable mariadb.service
Sistem database sudah terinstall, sehingga dapat melanjutkan ke proses berikutnya.
Install PHP
Langkah selanjutnya dalam rangkaian proses Install LAMP centos 7 adalah install PHP. PHP sendiri berfungsi sebagai komponen yang nantinya akan memproses code sehingga dapat menampilkan konten dinamis, berkoneksi dengan server database dan menangani proses konten sehingga dapat ditampilkan oleh web server.
Gunakan yum untuk meng-install PHP, selain sertakan juga php-mysql pada instalasi:
yum install php php-mysql
Semestinya perintah diatas akan menginstall PHP tanpa kendala. Diperlukan restart Apache agar web server dapat berkerja dengan PHP. Gunakan perintah berikut:
systemctl restart httpd.service
Install Modul PHP
Untuk menambakan fungsi pada PHP, dapat di-install beberapa modul tambahan. Hal ini sifatnya opsional, disesuaikan dengan kebutuhan website atau aplikasi berbasis web pada Dedicated Server atau VPS. Untuk melihat modul dan library yang tersedia untuk PHP, gunakan perintah berikut:
yum search php-
Hasilnya akan menampilkan semua komponen PHP yang dapat di-install. Disertakan pula deskripsi singkat, sebagaimana berikut ini:
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library php-cli.x86_64 : Command-line interface for PHP php-common.x86_64 : Common files for PHP php-dba.x86_64 : A database abstraction layer module for PHP applications php-devel.x86_64 : Files needed for building PHP extensions php-embedded.x86_64 : PHP library for embedding in applications php-enchant.x86_64 : Enchant spelling extension for PHP applications php-fpm.x86_64 : PHP FastCGI Process Manager php-gd.x86_64 : A module for PHP applications for using the gd graphics library . . .
Untuk melihat informasi lebih detail sebuah paket PHP, selain googling dapat digunakan peritah berikut:
yum info nama_paket
Sebagai contoh, mencari informasi tentang modul php-fpm
:
yum info php-fpm
Akan menghasilkan output berikut:
. . . Summary : PHP FastCGI Process Manager URL : http://www.php.net/ License : PHP and Zend and BSD Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI : implementation with some additional features useful for sites of : any size, especially busier sites.
Ketika diputusakan akan menginstall paket tersebut misalnya, gunakan perintah berikut ini :
yum install php-fpm
Apabila diperlukan instalasi lebih dari satu paket, instalasi dapat dilakukan dengan memisahkan satu paket dengan lainnya menggunakan spasi :
yum install nama-paket1 nama-paket2 ...
Sampai tahap ini, install lamp centos 7 selesai diproses. Selanjutnya dapat dilakukan test pada PHP yang sudah diinstall.
PHP dan Web Server
Untuk mengetahui apakah PHP sudah dikonfigurasi dan berjalan dengan baik, dapat dibuat script PHP sederhana dalam sebuah file – misalnya info.php
. Agar web server dapat menemukan file tersebut dan menampikan/ memproses konten didalamnya, file ini harus diletakan pada direktori yang spesifik, atau biasa disebut ‘webroot’
Pada CentOS 7, direktori tersebut terletak di /var/www/html
. File info.php
tersebut dapat dibuat dengan perintah berikut :
echo "<?php phpinfo(); ?>" >> /var/www/html/info.php
Apabila firewall sudah di-install pada server, gunakan perintah berikut untuk allow traffic dari HTTP dan HTTPS :
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
Sekarang mari lihat apakah web server dapat menampilkan konten pada file .php diatas. Akses server melalui browser dengan url berikut:
http://IP_Public_Server/info.php
Apabila tidak ada kendala, halaman yang muncul seharusnya adalah sebagai berikut:
Halaman tersebut pada dasarnya menampilkan informasi server dari sisi PHP, semisal modul atau ekstensi apa yang sudah di-install limit memori dan lain sebagainya.
Sampai disini install LAMP centos 7 sudah selesai dengan baik. Server sudah dapat digunakan untuk men-deploy website maupun aplikasi berbasis web.
Kebanyakan perusahaan tidak memberikan akses ke data center untuk karyawannya sendiri (terkecuali sekelompok karyawan yang di tunjuk khusus untuk memelihara dedicated server milik perusahaan). Namun Facebook sendiri membuka akses untuk kebanyakan server dan desain jaringannya, selain juga mengizinkan kunjungan dari orang di luar Facebook.
Prineville merupakan data center pertama yang dibangun oleh Facebook, dan komplek data center tersebut saat ini terdiri dari tiga gedung raksasa (dan satu gedung yang lebih kecil untuk keperluan cold storage). Gedung data center terkecil memiliki luas sekitar 3.5 hektar atau seluas empat kali lapangan sepak bola dan yang terbaru (dimana masih dalam proses konstruksi) akan memiliki luas setara enam kali lapangan sepakbola. Masing-masing gedung dapat menampung sebuah pesawat kargo modern dan masih menyisakan banyak ruang untuk ditempati.
Lokasi Dedicated Server Yang Tidak di Rahasiakan
Kebanyakan perusahaan tidak meletakan papan nama pada data centernya. Tapi tidak untuk facebook. Terdapat papan nama tepat pada pintu masuk Prineville Complex.
Pemanfaatan Udara Dan Tenaga Matahari
Salah satu inovasi Facebook – dan salah satu sebab mengapa facebook memilih padang gurun di Oregon untuk membangun fasilitas data center – adalah karena facebook menggunakan udara luar sebagai tenaga pendingin server-server mereka ketimbang bergantung kepada pendingin udara. Pada gambar terlihat sebuah tangki air raksaksa yang digunakan untuk mendinginkan ketika udara luar terlalu hangat untuk mendinginkan server. Selain itu, sebagai tambahan pembangkit tenaga listrik facebook menggunakan tenaga matahari melalui solar panel. Best porn site https://noodlemagazine.com – Watch porn.
Komponen Cadangan
Ketika terdapat kerusakan pada perangkat, para teknisi mengambil komponen pengganti dari ruangan seperti ini. Setiap item dan hard drive disisipi barcode sehingga memudahkan siklus penggantian dan perbaikan.
Kemana Perginya Data Facebook Ketika Dihapus
Ruangan yang tidak boleh sembarang dimasuki orang – dan bahkan untuk kebanyakan staf data center – adalah ruangan pengahpusan hard drive. Disinilah Facebook mengapus semua data hosting dari hard drive yang sudah dipakai sebelum hard drive tersebut dimusnahkan atau digunakan kembali.
Banyak Makanan Ringan Tersedia
Memang tidak persis seperti kafetaria google, tapi dapat ditemui banyak makanan ringan sepanjang jalan menuju ruangan server.
Server Dimana-Mana
Tidak seperti data center lain yang kebanyakan bergantung kepada mesin pendingin udara, facebook menggunakan udara luar untuk menjaga suhu di dalam, jadi di dalam ruang server tidak terlalu berisik dan suhu di dalam termasuk nyaman. Disebelah kiri gambar terlihat deretan dedicated server tempat penyimpanan data akun facebook.
Server Lagi ..
Dan disebelah kanan adalah deretan server yang digunakan untuk memproses data aktual milik akun facebook
Lorong diantara rack-rack server. Tiap lorong memiliki lebih dari dua lusin lebih rack server.
Lebih dekat ke rack server facebook
Ini merupakan tampilan dekat sebuah server facebook. Terlihat banyak sekali lampu LED warna biru. Facebook mengatakan, warna biru dipilih karena LED warna ini berharga lebih murah.
Pengeloaan Panas
Untuk mendinginkan CPU, Tiap dedicated server mengambil udara dingin masuk dan mengeluarkan udara panas melalui sebuah lorong tertutup, melalui lorong ini udara panas terangkat secara alami dan di buang keluar gedung.
Big sur
Selain Open Compute server standar. Data center facebook menyimpan Big Sur Machine Learning server. Dedicated server ini memiliki delapan high-end Nvidia Tesla dengan GPU M40. GPU berjenis off-the-shelf, sehingga server ini terlihat lebih besar daripada mesin komputasi standar.
Sistem pendingin
Ini yang disebut Facebook sebagai ‘intake room’. Disebelah kanan, udara masuk dan di saring oleh filter yang beradadi sebelah kiri. Hal ini bertujuan untuk mencegah debu masuk kedalam gedung.
Setelah proses penyaringan, udara digerakan melalui sebuah evaporative cooling system. Ketika udara luar telalu dingin sistem ini dapat menggabungkan udara panas dari ruang server untuk menaikkan suhu.
Kipas yang menggerakan udara masuk ke ruang server
Kipas yang menggerakan udara keluar dari ruang server
Cold Storage
Ketika seseorang mengapus data pada facebook akun facebooknya (status update, foto, video dan lainnya), data tersebut tidak bias dihapus atau hilang begitu saja. Facebook menyimpan salinan data tersebut dan menyimpannya dalam server yang disebut Cold Storage. Biasanya server penyimpanan data cold stograge ditempatkan pada gedung terpisah.