Memasang Lemp (Nginx, PHP, MySQL dengan enjin MariaDB dan phpmyadmin) di Arch Linux

Memasang Lemp (Nginx, PHP, MySQL dengan enjin MariaDB dan phpmyadmin) di Arch Linux

Kerana model pelepasan rollingnya yang merangkumi perisian umur pemotongan Arch Linux tidak direka dan dibangunkan untuk dijalankan sebagai pelayan untuk menyediakan perkhidmatan rangkaian yang boleh dipercayai kerana ia memerlukan masa tambahan untuk penyelenggaraan, peningkatan pemalar dan konfigurasi fail yang masuk akal.

Pasang Lemp di Arch-Linux

Tetapi, masih, kerana Arch Linux Dilengkapi dengan pemasangan teras CD dengan perisian minimum yang telah dipasang sebelum ini, ia boleh mewakili titik permulaan asas pepejal untuk memasang kebanyakan perkhidmatan rangkaian popular hari ini, termasuk ini termasuk Lemp atau Lampu, Pelayan web Apache, nginx, php, pangkalan data sql, samba, pelayan ftp, mengikat dan lain -lain, banyak yang disediakan dari Lengkungan Repositori rasmi Linux dan lain -lain dari Aur.

Tutorial ini akan membimbing melalui memasang dan mengkonfigurasi Lemp Stack (nginx, php, mysql dengan enjin MariaDB dan phpmyadmin) dari jauh menggunakan SSH, yang dapat memberikan asas yang kukuh untuk membina aplikasi pelayan web.

Keperluan

Panduan Pemasangan Arch Linux Sebelumnya, kecuali bahagian terakhir pada rangkaian dengan DHCP.

Langkah 1: Berikan IP statik pada antara muka rangkaian

1. Selepas minimum Arch Linux Pemasangan teras Reboot pelayan anda, log masuk dengan akaun root atau akaun sudo pentadbiran yang setara, dan kenal pasti nama peranti NIC anda menggunakan Pautan IP perintah.

# pautan ip
Periksa nama antara muka rangkaian

2. Untuk memberikan konfigurasi rangkaian statik yang akan kami gunakan Netctl pakej untuk menguruskan sambungan rangkaian. Setelah anda berjaya mengenal pasti anda Antara muka rangkaian Salinan nama Ethernet-Static templat fail ke netctl Laluan Sistem dan Tukar Namanya ke Skim Penamaan Deskriptif (Cuba Gunakan "statik"String digabungkan dengan nama Nic), dengan mengeluarkan arahan berikut.

# cp/etc/netctl/contoh/etenet-statik/etc/netctl/statik.ENS33

3. Langkah seterusnya adalah untuk mengedit fail templat baru ini dengan menukar arahan fail dan menyediakan tetapan rangkaian sebenarnya (antara muka, IP/netmask, gerbang, siaran, DNS) seperti di bawah petikan di bawah.

# nano/etc/netctl/statik.ENS33
Tambah butiran rangkaian
Penerangan = 'Sambungan Ethernet Statik Asas untuk Interface Ens33' = ENS33 Sambungan = Ethernet IP = Alamat Statik = ('192.168.1.33/24 ') Gateway = "192.168.1.1 "Brodcast =" 192.168.1.255 "DNS = ('192.168.1.1 "8.8.8.8 ')

4. Langkah seterusnya ialah memulakan sambungan rangkaian anda melalui netctl alat sistem dan sahkan sambungan sistem anda dengan mengeluarkan arahan berikut.

# netctl statik statik.ENS33 # status status netctl.ENS33
Memulakan perkhidmatan rangkaian

5. Sekiranya anda mendapat status keluar hijau aktif, anda telah berjaya mengkonfigurasi anda Antara muka rangkaian Dan sudah tiba masanya untuk membolehkannya secara automatik pada perkhidmatan sistem. Juga menguji rangkaian anda dengan menjalankan a ping perintah terhadap nama domain dan juga, pasang alat bersih Pakej (ciri yang paling terkenal dalam pakej ini adalah perintah ifconfig yang mana pemaju gerbang dianggap sebagai jenis yang ditutup dan menggantikannya dengan IPROUTE2).

Dayakan konfigurasi sistem NIC yang luas
# netctl membolehkan statik.ENS33
Pasang pakej alat bersih
# PACMAN -S -TOOLS

6. Sekarang anda boleh berlari ifconfig perintah untuk mengesahkan anda Antara muka rangkaian tetapan dan periksa sama ada semuanya dipaparkan dengan betul, maka Reboot sistem anda untuk memastikan semuanya ada dan dikonfigurasikan dengan betul.

# ping tecmint.com
Sahkan sambungan rangkaian

Langkah 2: Pasang perisian Lemp

Seperti yang ditunjukkan dalam pengenalan artikel ini Lemp bermaksud Linux+nginx+php/phpmyadmin+mysql/Mariadb yang merupakan salah satu platform aplikasi web yang paling meluas hari ini selepas Lampu (timbunan yang sama dengan Apache dalam persamaan).

7. Sebelum sebenarnya dipasang Lemp timbunan kita perlu mengemas kini sistem dan kemudian mendapatkan kawalan jauh ke Arch Linux pelayan. Seperti yang anda mungkin tahu OpenSSH adalah calon utama untuk pekerjaan ini jadi teruskan dan pasangkannya, mulakan SSH Daemon dan membolehkan sistem itu meluas.

$ sudo pacman -syu $ sudo pacman -s openssh
Pasang Perkhidmatan SSH Terbuka
$ sudo systemctl start sshd $ sudo systemctl status sshd $ sudo systemctl enable sshd
Mulakan Perkhidmatan SSH Buka

Sekarang adalah masa untuk meneruskan Lemp pemasangan. Kerana tutorial ini dimaksudkan sebagai panduan yang komprehensif, saya akan membahagikan Lemp pemasangan timbunan ke dalam kepingan kecil, langkah demi langkah.

8. Pasang pertama Pelayan web nginx, Kemudian mulakannya dan sahkan statusnya dengan mengeluarkan arahan berikut.

$ sudo pacman -s nginx $ sudo systemctl start nginx $ sudo systemctl status nginx
Pasang pelayan web nginx Mulakan pelayan web nginx

9. Perkhidmatan seterusnya yang akan dipasang adalah Mysql pangkalan data. Mengeluarkan arahan berikut untuk memasang pelayan pangkalan data MySQL dan pilih Mariadb enjin, kemudian mulakan dan sahkan status daemon.

$ sudo pacman -s mysql $ sudo systemctl start mysqld $ sudo systemctl status mysqld
Pasang pangkalan data MySQL Mulakan pangkalan data MySQL

10. Langkah seterusnya adalah untuk menyediakan persekitaran yang sangat selamat untuk pangkalan data MySQL dengan menyediakan kata laluan untuk akaun root mysql, keluarkan akaun pengguna tanpa nama, keluarkan pangkalan data ujian dan akaun root yang boleh diakses dari luar localhost. Jalankan arahan berikut untuk meningkatkan keselamatan MySQL, tekan [Masukkan] Untuk kata laluan akaun root semasa, kemudian jawab Ya kepada semua soalan (juga menyediakan kata laluan akaun root anda).

$ sudo mysql_secure_installation
Pemasangan MySQL selamat Konfigurasikan tetapan MySQL

Catatan: Dengan apa -apa cara jangan mengelirukan akaun root mysql dengan akaun akar sistem linux - mereka adalah dua perkara yang berbeza - tidak begitu berbeza tetapi mereka berjalan pada tahap yang berbeza.

Untuk mengesahkan log masuk keselamatan MySQL ke pangkalan data menggunakan mysql -u root -p sintaks perintah, berikan kata laluan root anda kemudian tinggalkan pangkalan data keluar; perintah.

# mysql -u root -p
Sambungkan ke pangkalan data MySQL

11. Sekarang sudah tiba masanya untuk dipasang Php bahasa skrip sisi pelayan untuk dapat membangun dan menjalankan aplikasi web dinamik yang kompleks, bukan hanya berkhidmat HTML/CSS kod.

Kerana kita menggunakan Nginx Sebagai pelayan web kita perlu memasang PHP-FPM modul yang disokong untuk berkomunikasi melalui Gateway biasa yang cepat dan tukar kandungan dinamik yang dihasilkan oleh skrip PHP.

Mengeluarkan baris arahan berikut untuk dipasang PHP-FPM perkhidmatan, kemudian mulakan daemon dan sahkan status.

$ sudo pacman -s php php-fpm $ sudo systemctl start php-fpm $ sudo systemctl status php-fpm
Pasang PHP dan PHP-FPM Mulakan perkhidmatan PHP-FPM

Untuk menyenaraikan semua ada Modul PHP Mengeluarkan arahan berikut.

$ sudo pacman -s php [tab] $ sudo pacman -ss | GREP PHP
Senaraikan semua modul PHP Sahkan semua modul PHP

12. Salah satu langkah terakhir ialah memasang Antara muka web phpmyadmin Untuk pangkalan data MySQL. Keluarkan arahan berikut untuk memasang phpmyadmin bersama -sama dengan modul yang diperlukan PHP kemudian buat pautan simbolik untuk laluan sistem phpmyaadmin ke laluan akar lalai nginx.

$ pacman -s phpmyadmin php -mcrypt $ sudo ln -s/usr/share/webapps/phpmyadmin/usr/share/nginx/html
Pasang phpmyadmin

13. Kemudian konfigurasikan php.Ini fail untuk memasukkan sambungan yang diperlukan oleh aplikasi phpmyadmin.

$ sudo nano/etc/php/php.Ini

Cari dengan [Ctrl+w] Kekunci dan Uncomment (Keluarkan ; pada baris permulaan) baris berikut.

lanjutan = mysqli.jadi lanjutan = mysql.jadi lanjutan = mcrypt.Jadi mysqli.membenarkan_local_infile = on

Pada fail yang sama mencari dan Edit Open_Basedir Arahan untuk menyerupai dengan direktori termasuk berikut.

open_basedir =/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/
Konfigurasikan PHP.Sambungan ini Dayakan sambungan PHP MySQL

14. Langkah seterusnya adalah untuk membolehkan Php-fpm fastcgi pada arahan nginx localhost. Mengeluarkan arahan seterusnya untuk membuat sandaran nginx.Conf Konfigurasi Fail Pelayan Web kemudian ganti dengan kandungan berikut.

$ sudo mv/etc/nginx/nginx.conf/etc/nginx/nginx.Conf.Bak $ sudo nano/etc/nginx/nginx.Conf

Tambahkan keseluruhan kandungan berikut pada nginx.Conf.

#user html; worker_processes 2; #error_log log/ralat.log; #error_log log/ralat.notis log; #error_log log/ralat.maklumat log; #pid log/nginx.pid; peristiwa worker_connections 1024;  http termasuk mime.jenis; default_type Application/Octet-stream; Sendfile pada; #TCP_NOPUSH ON; #keepalive_timeout 0; Keepalive_timeout 65; gzip pada; pelayan mendengar 80; server_name localhost; root/usr/share/nginx/html; Charset Koi8-R; lokasi / indeks indeks.Indeks PHP.Indeks HTML.htm; Autoindex ON; AUTOINDEX_EXACT_SIZE OFF; AUTOINDEX_LOCALTIME ON;  lokasi /phpmyadmin menulis semula ^ /* /phpmyadmin terakhir;  error_page 404 /404.html; # Redirect Halaman ralat pelayan ke halaman statik /50x.HTML ERROR_PAGE 500 502 503 504 /50X.html; Lokasi = /50x.html root/usr/share/nginx/html;  lokasi ~ \.php $ #fastcgi_pass 127.0.0.1: 9000; (Bergantung pada konfigurasi soket php-fpm anda) Fastcgi_pass unix:/run/php-fpm/php-fpm.kaus kaki; indeks fastcgi_index.PHP; Termasuk fastcgi.Con;  lokasi ~ /\.ht menafikan semua; 
Dayakan php-fpm fastcgi

15. Selepas semua konfigurasi fail telah dibuat, yang perlu anda lakukan adalah memulakan semula Nginx dan PHP-FPM perkhidmatan dan tunjuk penyemak imbas anda ke http: // localhost/phpmyadmin URL dari nod tempatan atau http: // arch_ip/phpmyadmin membentuk komputer lain.

$ sudo Systemctl Restart PHP-FPM $ SUDO Systemctl Restart Nginx
Akses pelayan web nginx Log masuk phpmyadmin Papan pemuka phpmyadmin

16. Sekiranya semuanya berjalan seperti yang dimaksudkan, langkah terakhir adalah untuk membolehkan Lemp sistem luas dengan arahan berikut.

$ sudo systemctl enable php-fpm $ sudo systemctl enable nginx $ sudo systemctl enable mysqld
Dayakan sistem Lemp lebar

Tahniah! Anda telah memasang dan mengkonfigurasi Lemp pada Arch Linux Dan, sekarang, anda mempunyai antara muka dinamik penuh untuk memulakan dan membangunkan aplikasi web.

Walaupun Arch Linux Bukankah sistem yang paling sesuai untuk dijalankan di pelayan pengeluaran kerana model pelepasan rolling berorientasikan komuniti ia boleh menjadi sumber yang sangat cepat dan boleh dipercayai untuk persekitaran pengeluaran yang tidak kritikal kecil.