Menginstal LAMP (Linux, Apache, MySQL, PHP dan PhpMyAdmin) di Gentoo Linux


Kinerja maksimum yang dicapai dengan mengkompilasi perangkat lunak dari sumber dengan Gentoo memiliki dampak yang minimal, jika kita mengambil referensi kekuatan pemrosesan perangkat keras saat ini. Lalu apa tujuan menggunakan Gentoo sebagai platform Web server yang mungkin Anda tanyakan? Nah, atribut paling penting yang dimiliki Gentoo adalah fleksibilitas ekstremnya yang dapat dilakukan oleh Portage pada tugas-tugas tertentu dan kontrol penuh yang dapat dicapai pengguna akhir atas keseluruhan sistem, karena Gentoo dikompilasi dan dibangun dari sumber dan tidak menggunakan biner yang sudah dikemas sebelumnya seperti kebanyakan distribusi Linux.

Panduan ini memberikan prosedur instalasi langkah demi langkah untuk tumpukan LAMP yang terkenal (Linux, Apache, MySQL, dan PHP/PhpMyAdmin) menggunakan lingkungan instalasi Gentoo yang minimal.

Persyaratan

  1. Lingkungan minimal Gentoo Linux terinstal seperti dalam tutorial ini (Instal Gentoo Linux)

Langkah 1: Konfigurasikan Alamat IP Statis

1. Sebelum kita melanjutkan dengan menginstal tumpukan LAMP, sistem harus dikonfigurasi dengan alamat IP statis, yang merupakan “keharusan” dalam kasus server. Namun, sebelum kita mulai mengonfigurasi pengaturan statis jaringan, gunakan perintah ifconfig untuk menampilkan nama Kartu Antarmuka Jaringan.

ifconfig -a

Seperti yang Anda lihat, nama NIC dapat berbeda dari nama umum lainnya yang digunakan di Linux seperti ethX, ensXX atau lainnya, jadi catat nama ini untuk pengaturan lebih lanjut.

2. Jika sebelumnya Anda menggunakan server DHCP untuk jaringan Anda, pastikan Anda menghapus dan menonaktifkan Klien DHCP di sistem Anda menggunakan perintah berikut (ganti IP dan perangkat dengan pengaturan Anda).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. Kemudian buat tautan simbolik dari perangkat loopback jaringan dengan nama antarmuka NIC Anda yang terhubung dan buat file konfigurasi statis untuk perangkat ini di /etc/conf.d/ jalur.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

Edit file perangkat ini dengan konfigurasi berikut.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Setelah selesai mengedit konfigurasi statis NIC, mulai Antarmuka Jaringan dan verifikasi pengaturan jaringan dan koneksi menggunakan perintah ifconfig dan ping dan apakah semuanya berhasil dikonfigurasi tambahkan untuk memulai proses.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

Jika Anda ingin server nama DNS dikonfigurasikan di seluruh sistem, edit file /etc/resolv.conf dan tambahkan string server nama untuk setiap alamat IP DNS.

Langkah 2: Instal LAMPU

5. Setelah Anda selesai dengan pengaturan jaringan, lanjutkan dengan menginstal tumpukan LAMP, tetapi jangan sebelum Anda memverifikasi profil Gentoo dan memperbarui pohon dan sistem Portage.

Untuk server yang terhubung ke Internet dengan patch keamanan, Anda mungkin ingin menggunakan profil Hardened yang mengubah pengaturan paket untuk keseluruhan sistem Anda (mask, flag USE, dll). Gunakan perintah berikut untuk membuat daftar dan mengubah profil Anda.

sudo eselect profile list
sudo eselect profile set 11

6. Setelah profil yang paling sesuai untuk Anda ditetapkan, perbarui sistem dan struktur Portage Anda.

sudo emerge --sync
sudo emerge --update @world

7. Sekarang saatnya melanjutkan instalasi LAMP. Verifikasi dokumentasi Server Web Apache untuk flag USE menggunakan saklar perintah emerge –pv, lalu edit file make.conf Portage dengan flag USE yang diperlukan sebelum mencoba menginstalnya.

emerge -pv apache
nano /etc/portage/make.conf

8. Pilih flag USE untuk proses kompilasi (Anda dapat membiarkannya apa adanya jika server Anda tidak memerlukan modul tertentu), lalu instal Apache menggunakan perintah berikut.

emerge --ask www-servers/apache

9. Sebelum memulai layanan Apache, jalankan perintah berikut untuk menghindari kesalahan ServerName, lalu jalankan daemon httpd.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. Pada langkah berikutnya instal bahasa skrip dinamis PHP. Karena kekayaan modul PHP, tutorial ini akan menyajikan kepada Anda daftar besar modul yang digunakan sebagai flag USE, namun Anda harus tetap menggunakan modul yang diperlukan oleh konfigurasi server Anda.

Pertama, dapatkan flag khusus USE untuk PHP menggunakan perintah di bawah ini.

emerge -pv php

11. Kemudian edit file /etc/portage/make.conf dan gunakan flag USE berikut untuk PHP5.5 (Bendera USE harus berada pada satu baris).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Metode lain yang dapat Anda gunakan adalah dengan mengulangi flag USE untuk memasukkan modul dan opsi PHP yang diinginkan ke dalam file /etc/portage/package.use.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Setelah Anda memilih flag USE yang diperlukan menggunakan salah satu dari dua metode yang disajikan, instal PHP dengan perintah berikut.

emerge --ask dev-lang/php

13. Proses munculnya PHP dapat memakan waktu cukup lama tergantung pada sumber daya sistem Anda dan setelah selesai, beri tahu Apache untuk menggunakan modul PHP dengan mengedit file /etc/conf.d/apache2 dan tambahkan PHP5 pada direktif APACHE2_OPTS.

nano /etc/conf.d/apache2

Buat baris APACHE2_OPTS terlihat seperti ini.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Untuk mendapatkan daftar modul yang diinstal gunakan perintah berikut.

ls -al /etc/apache2/modules.d/

14. Untuk menguji konfigurasi server sejauh ini, buat file phpinfo di direktori root localhost (/var/www/localhost/htdocs/) dan restart layanan Apache, lalu arahkan browser Anda ke http://localhost/info.php atau http://system_IP/info.php.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

Jika Anda mendapatkan hasil yang sama seperti gambar di atas maka server Anda sudah dikonfigurasi dengan benar. Jadi, kita dapat melanjutkan dengan database MySQL dan instalasi PhpMyAdmin.

15. Sebelum menginstal database MySQL, verifikasi paket USE flags dan edit make.conf Portage jika diperlukan. Gunakan perintah berikut untuk memverifikasi dan menginstal database server MySQL.

emerge -pv mysql
emerge --ask dev-db/mysql

16. Sebelum Anda memulai server MySQL, pastikan database MySQL diinstal pada sistem Anda menggunakan perintah berikut.

/usr/bin/mysql_install_db

17. Sekarang jalankan database MySQL dan amankan menggunakan mysql_secure_installation dengan mengubah kata sandi root, nonaktifkan login root di luar localhost, hapus pengguna anonim dan uji database.

service mysql start
mysql_secure_installation

18. Untuk menguji fungsionalitas database, login ke MySQL dengan mengeluarkan perintah di bawah ini dan keluar dari database dengan pernyataan keluar.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Jika Anda memerlukan antarmuka grafis untuk mengelola server MySQL, instal paket PhpMyAdmin dengan menjalankan perintah ini.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Setelah paket dikompilasi dan diinstal, buatlah file konfigurasi untuk PhpMyAdmin dengan menyalin file template-nya dan ganti frasa sandi blowfish_secret menggunakan string arbitrer.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Uji proses login PhpMyAdmin dengan membuka browser dan menggunakan URL berikut.

http://localhost/phpmyadmin

22. Jika semuanya sudah siap, Anda mungkin ingin memulai layanan Anda secara otomatis setelah reboot dengan membuatnya tersedia di seluruh sistem menggunakan perintah berikut.

rc-update -v add apache2 default
rc-update -v add mysql default

Itu saja! Sekarang Anda memiliki lingkungan web dinamis dengan Apache, bahasa skrip PHP, dan database MySQL relasional pada platform server yang sangat fleksibel dan dapat disesuaikan yang disediakan oleh Gentoo.