Menginstal LEMP (Linux, Nginx, MySQL/MariADB, PHP/PHP-FPM dan PhpMyadmin) di Gentoo Linux
- 3800
- 138
- Dominick Barton
Gentoo adalah salah satu distribusi linux tercepat karena pembangunannya dari orientasi sumber dan disediakan oleh program manajemen perangkat lunaknya - Portage - Alat tertentu yang diperlukan untuk membangun platform pengembang web lengkap yang bertindak dan bekerja sangat cepat dan, juga, memiliki tingkat penyesuaian yang tinggi.
Instal Nginx di Gentoo LinuxTopik ini akan membawa Anda melalui proses instalasi langkah demi langkah untuk membangun platform lingkungan web yang lengkap dengan Lemp (Linux nginx, mysql/mariadb, php-fpm/phpMyadmin), dan dengan bantuan pada Gunakan bendera Disediakan oleh Manajemen Paket Portage, yang menawarkan serangkaian fungsionalitas paket pada proses kompilasi - modul atau pengaturan yang diperlukan untuk platform web, akan sangat mengubah konfigurasi server.
Persyaratan
- Instalasi Gentoo dengan profil yang dikeraskan untuk server yang menghadap internet - Panduan Instalasi Gentoo.
- Jaringan dikonfigurasi dengan alamat IP statis.
Langkah 1: Instal Nginx Web Server
1. Sebelum mencoba melanjutkan dengan instalasi nginx, pastikan bahwa NIC Anda telah dikonfigurasi dengan alamat IP statis dan pastikan sumber portage dan sistem Anda sudah mutakhir.
$ sudo su - # emerge --sync # emerge -update --deep - -with -bdeps = y @worldPerbarui Gentoo Linux
2. Setelah proses pembaruan selesai, lanjutkan dengan instalasi NGINX dengan memilih pengaturan dan modul yang disukai dengan menggemakan Nginx menggunakan bendera ke Portage membuat.conf mengajukan. Daftar Pertama Modul Instalasi Default Nginx dengan menjalankan perintah berikut.
# emerge -pv nginx
Untuk informasi modul terperinci (gunakan bendera untuk paket) penggunaan equery memerintah.
# Equery menggunakan nginxCantumkan semua modul bendera
Kemudian instal nginx dengan perintah berikut.
# emerge --ask nginxInstal Nginx Web Server
Jika Anda memerlukan modul tambahan (webdav, fancyIndex, geoip, dll) selain yang default, yang akan dikompilasi oleh nginx, tambahkan semuanya pada satu baris di portage membuat.conf file dengan Nginx_modules_http arahan, lalu kompilasi ulang nginx dengan modul baru.
# echo 'nginx_modules_http = "dav auth_pam fancyIndex geoip fastcgi uwsgi gzip menulis ulang"' >>/etc/portage/make.conf # emerge --ask nginxKompilasi nginx untuk modul baru
3. Setelah portage selesai nginx yang muncul, mulailah http daemon dan verifikasi dengan mengarahkan browser Anda ke http: // localhost.
Verifikasi server web nginxLangkah 2: Pasang PHP
4. Untuk menggunakan bahasa pemrograman web dinamis php dengan server nginx, instal Manajer Proses PHP-FastCGI (FPM) dengan menambahkan FPM dan ekstensi PHP penting lainnya pada bendera penggunaan portage dan pastikan Anda menghapus ekstensi apache.
# Emerge -pv PHPInstal PHP di Gentoo
# Equery menggunakan PHPPemilihan ekstensi PHP
# echo "dev -lang/php fpm cgi curl gd imap mysql mysqli pdo zip json xcache apc zlib zip truetype -apache2" >>/etc/portage/package.Gunakan # Emerge -Task PHP
5. Sebelum memulai php-fpm beberapa perubahan harus diterapkan pada file konfigurasi layanan. Membuka php-fpm file konfigurasi dan membuat perubahan berikut.
# nano/etc/php/fpm-php5.5/php-fpm.conf
Temukan dan Batalkan Komentari Arahan berikut agar terlihat seperti ini.
error_log =/var/log/php-fpm.Log Listen = 127.0.0.1: 9000 ## Di sini Anda dapat menggunakan soket http apa pun (kombinasi ip-port) yang Anda inginkan ## pm.start_server = 20
6. Setelah file konfigurasi php-fpm diedit, ubah izin file log php-fpm dan mulai layanan.
# CHMOD 755/VAR/LOG/PHP-FPM.Log # /etc /init.D/PHP-FPM Mulai
Bahkan jika layanan PHP-FPM dimulai, Nginx tidak dapat berkomunikasi dengan PHP Gateway, jadi, beberapa perubahan perlu dilakukan pada file konfigurasi NGINX.
Langkah 3: Edit Konfigurasi Nginx
7. File Konfigurasi Template Default Nginx Just menyediakan soket http dasar hanya untuk localhost. Untuk mengubah perilaku ini dan mengaktifkan host virtual, terbuka Nginx.conf file terletak di /etc/nginx/ jalur dan buat konfigurasi berikut.
# nano/etc/nginx/nginx.conf
Temukan yang pertama server blok yang sesuai dengan localhost dan mendengarkan 127.0.0.1 Alamat IP dan memuji semua pernyataannya agar terlihat di tangkapan layar di bawah ini.
Nonaktifkan Konfigurasi HTTP DasarJangan tutup file dan pindahkan ke bagian paling bawah dan tambahkan pernyataan berikut sebelum terakhir penutupan kawat gigi keriting ““.
Termasuk/etc/nginx/diaktifkan situs/*.conf;Aktifkan host virtual nginx
8. Buat selanjutnya Situs-Enabled Dan situs-tersedia (Untuk host virtual yang tidak digunakan) direktori nginx dan file konfigurasi untuk localhost pada protokol http dan https.
# mkdir/etc/nginx/situs-tersedia # mkdir/etc/nginx/situs-diable
Buat konfigurasi file berikut untuk localhost.
# nano/etc/nginx/situs-tersedia/localhost.conf
Tambahkan konten file berikut.
server dengarkan 80; server_name localhost; access_log/var/log/nginx/localhost_access_log main; ERROR_LOG/VAR/LOG/NGINX/LOCALHOST_ERROR_LOG info; root/var/www/localhost/htdocs; Lokasi / indeks indeks.Indeks HTML.indeks htm.PHP; Autoindex aktif; autoIndex_exact_size off; autoIndex_localtime on; Lokasi ~ \.php $ # tes untuk skrip yang tidak ada atau melempar kesalahan 404 tanpa baris ini, nginx akan secara membabi buta mengirim permintaan apa pun yang berakhir .PHP ke PHP-FPM TRY_FILES $ URI = 404; termasuk/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000; ## Pastikan soket sesuai dengan file conf php-fpmBuat konfigurasi host virtual nginx
Untuk LocalHost dengan SSL Buat file konfigurasi berikut.
# nano/etc/nginx/situs-tersedia/localhost-ssl.conf
Tambahkan konten file berikut.
Server Listen 443 SSL; server_name localhost; SSL di; ssl_certificate/etc/ssl/nginx/nginx.PEM; ssl_certificate_key/etc/ssl/nginx/nginx.kunci; access_log/var/log/nginx/localhost.ssl_access_log utama; error_log/var/log/nginx/localhost.info ssl_error_log; root/var/www/localhost/htdocs; Lokasi / indeks indeks.Indeks HTML.indeks htm.PHP; Autoindex aktif; autoIndex_exact_size off; autoIndex_localtime on; Lokasi ~ \.php $ # tes untuk skrip yang tidak ada atau melempar kesalahan 404 tanpa baris ini, nginx akan secara membabi buta mengirim permintaan apa pun yang berakhir .PHP ke PHP-FPM TRY_FILES $ URI = 404; termasuk/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000;Buat host virtual SSL nginx
9. Sekarang saatnya membuat dua skrip di jalur sistem yang dapat dieksekusi ($ Path Shell Variable), yang bertindak sebagai perintah untuk mengaktifkan atau menonaktifkan host virtual nginx.
Buat skrip bash pertama bernama n2ensite Itu akan memungkinkan file konfigurasi virtual host dengan membuat tautan simbolik antara host yang ditentukan dari situs-tersedia ke Situs-Enabled.
# nano/usr/local/bin/n2eNiste
Tambahkan konten file berikut.
#!/bin/bash jika uji -d/etc/nginx/situs -tersedia && test -d/etc/nginx/situs -diabled; lalu echo "----------------------------------------------- "Lain mkdir/etc/nginx/situs-tersedia mkdir/etc/nginx/situs-berkemampuan fi tersedia =/etc/nginx/situs-tersedia/$ 1.conf enabled =/etc/nginx/situs-diable/situs = "ls/etc/nginx/situs-tersedia/" jika ["$#" != "1"]; Kemudian echo "Gunakan skrip: n2ensite virtual_site" echo -e "\ navailable virtual hosts: \ n $ situs" keluar 0 lain jika tes -e $ tersedia; lalu sudo ln -s $ avail $ enabled else echo -e "$ avail virtual host tidak ada! Harap buat satu!\ n $ situs "Keluar 0 fi jika tes -e $ diaktifkan/$ 1.conf; lalu gema "sukses!! Sekarang restart Nginx Server: sudo /etc /init.d/ nginx restart "else echo -e" virtual host $ avail tidak ada!\ nPlease Lihat host virtual yang tersedia: \ n $ situs "Keluar 0 fi fiBuat virtual host mengaktifkan skrip
10. Kemudian buat skrip kedua yang disebut n2dissite, yang akan menghapus host virtual aktif tertentu dari Situs-Enabled Jalur nginx dengan konten berikut.
# nano/usr/lokal/bin/n2dissite
Tambahkan konten berikut.
#!/bin/bash avail =/etc/nginx/Situs-Enabled/$ 1.conf enabled =/etc/nginx/situs yang diaktifkan situs = "ls/etc/nginx/situs-tersedia/" jika ["$#" != "1"]; Kemudian echo "Gunakan skrip: n2dissite virtual_site" echo -e "\ navailable virtual hosts: \ n $ situs" keluar 0 lain jika tes -e $ tersedia; Maka sudo rm $ avele lain echo -e "$ avail virtual host tidak ada! Keluar!"Keluar 0 fi jika tes -e $ diaktifkan/$ 1.conf; lalu gema "kesalahan!! Tidak dapat menghapus $ tersedia host virtual!Keberhasilan "lain echo -e"! $ tersedia telah dihapus!\ nPlease restart nginx: sudo /etc /init.D/nginx restart "Keluar 0 fi fiBuat virtual host menonaktifkan skrip
11. Setelah selesai mengedit skrip bash, tambahkan izin eksekusi dan aktifkan host virtual localhost - gunakan nama file konfigurasi virtual host tanpa .conf Ekstensi, lalu mulai ulang layanan Nginx dan PHP-FPM untuk menerapkan perubahan.
# CHMOD +X/USR/LOCAL/BIN/N2DISSITE # CHMOD +X/USR/LOCAL/BIN/N2ENSITE # N2ENSITE LOCALHOST # N2ENSITE LOCALHOST-SSL # LAYANAN NGINX RESTART # Service Php-FPM restartRestart nginx dan php-fpm
12. Untuk menguji konfigurasi, buat file info PHP di jalur root default localhost untuk file web (/var/www/localhost/htdocs) dan arahkan kembali browser Anda https: // localhost/info.php atau http: // localhost/info.php.
echo ""/var/www/localhost/htdocs/info.phpVerifikasi konfigurasi PHP
Menggunakan localhost virtual hosts file konfigurasi sebagai templat dan nginx n2enmod Dan n2dismod Anda sekarang dapat dengan mudah menambahkan sebanyak mungkin situs web, tetapi memastikan bahwa Anda memiliki pointer DNS yang valid untuk server web yang menghadap internet atau menggunakan entri secara lokal pada file host sistem.
Langkah 4: Instal MySQL/MariADB + PHPMyAdmin
Untuk menginstal MySQL Database dan PHPMyAdmin Web Interface untuk MySQL Gunakan prosedur yang sama yang disajikan pada penginstalan lampu di Gentoo.
13. Sebagai imbalan jika Anda ingin menggunakan mariadb, penggantian drop-in untuk mysql, gunakan perintah berikut untuk mendapatkan Gunakan bendera dan instal.
# emerge -pv mariadb # emerge --ask mariadbInstal Basis Data MariaDB
Jika Anda mendapatkan konflik paket dengan MySQL, tambahkan baris berikut ke Portage kemasan.menerima.kata kunci.
# echo “= dev-db/mariadb-5.5.37-R1 ~ AMD64 ">>/etc/portage/paket.menerima.Kata kunci # echo “= virtual/mysql-5.5 ~ AMD64 ”>>/etc/portage/paket.menerima.Kata Kunci # Emerge -Task Mariadb
14. Setelah database MySQL diinstal Layanan Mulai dan mengamankannya menggunakannya mysql_secure_installation (Ubah kata sandi root, nonaktifkan login root di luar localhost, hapus database pengguna/tes anonim).
# layanan mysql start # mysql_secure_installation
15. Masukkan database MySQL menggunakan, mysql -u root -p perintah untuk menguji fungsinya dan meninggalkannya KELUAR memerintah.
# mysql -u root -p mariadb> show basis data; Mariadb> keluar;Verifikasi Konektivitas MySQL
16. Jika Anda tidak terlalu baik dengan baris perintah mysql. Instal PHPMyAdmin Web Frontend dengan mengeksekusi perintah berikut.
# emerge -pv dev-db/phpmyadmin # echo "dev-db/phpmyadmin setup vhost" >>/etc/portage/package.Gunakan # emerge-masukkan dev-db/phpmyadminPasang phpMyAdmin
17. Setelah phpmyadmin selesai menginstal, buat file konfigurasi berdasarkan file konfigurasi sampel, ubah blowfish_secret Passphrase dengan string acak, lalu buat tautan simbolik dari /usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ ke host virtual jalur root root Anda ingin mengakses antarmuka web phpmyadmin.
# CD/USR/SHARE/WEBAPPS/PHPMYADMIN/4.2.2/ htdocs/ # cp config.Sampel.inc.konfigurasi php.inc.php # nano config.inc.phpKonfigurasikan phpMyAdmin
# ln -s/usr/share/webapps/phpMyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpMyadminBuat tautan simbolik phpmyadmin
18. Untuk mengakses database MySQL melalui antarmuka web phpmyadmin, buka browser dan gunakan alamat URL berikut https: // localhost/phpmyadmin.
Verifikasi login phpMyadmin19. Langkah terakhir adalah mengaktifkan sistem layanan di seluruh sistem, untuk secara otomatis dimulai setelah reboot.
# RC-update Tambahkan Nginx Default # RC-update Tambahkan php-fpm default # rc-update tambahkan default mysqlAktifkan sistem layanan luas
Sekarang kami memiliki pengaturan lingkungan minimal untuk hosting web, dan jika Anda hanya menggunakan HTML, JavaScript dan PHP Dynamic yang dihasilkan halaman dan Anda tidak memerlukan situs web SSL, konfigurasi di atas harus memuaskan bagi Anda.
- « Menginstal GUI (desktop kayu manis) dan perangkat lunak dasar di Arch Linux
- Pertanyaan Wawancara Praktis dan Jawaban di Linux Shell Scripting »