Cara menginstal nginx, mariadb dan php (femp) menumpuk pada freebsd

Cara menginstal nginx, mariadb dan php (femp) menumpuk pada freebsd

Tutorial ini akan memandu Anda tentang cara menginstal dan mengkonfigurasi fbemp di freebsd 11.X rilis terbaru. FBEMP adalah akronim yang menjelaskan kumpulan perangkat lunak berikut:

Freebsd 11.1 Distribusi seperti unix, server web nginx, sistem manajemen basis data relasional mariadb (garpu komunitas mysql) dan bahasa pemrograman dinamis php yang berjalan di sisi server.

Persyaratan

  1. Pemasangan FreeBSD 11.X
  2. 10 hal yang harus dilakukan setelah instalasi freebsd

Langkah 1: Instal Nginx Web Server di FreeBSD

1. Layanan pertama yang akan kami instal untuk kami Fbemp Tumpuk di Freebsd adalah server web, diwakili oleh Nginx perangkat lunak.

Nginx Server web memiliki lebih banyak paket yang sudah dipenuhi sebelumnya Freebsd 11.X Ports. Untuk mendapatkan daftar Nginx binari dari Ports repositori, keluarkan perintah berikut di terminal server Anda.

# ls/usr/ports/www/| grep nginx # pkg pencarian -o nginx 
Temukan paket nginx

2. Dalam konfigurasi khusus ini, kami akan menginstal versi paket utama Nginx dengan mengeluarkan perintah di bawah ini. Itu pkg Manajemen paket akan menanyakan apakah Anda ingin melanjutkan dengan menginstal paket nginx. Jawab dengan ya (y di baris perintah) untuk memulai proses instalasi.

# pkg menginstal nginx 
Instal nginx di freebsd

3. Setelah Paket Server Web Nginx diinstal di sistem Anda, jalankan perintah berikut untuk mengaktifkan Daemon System-Wide dan memulai layanan di sistem Anda.

# sysrc nginx_enable = "ya" # service nginx start 
Mulai dan Aktifkan Nginx di FreeBSD

4. Selanjutnya, menggunakan Sockstat perintah, verifikasi soket jaringan layanan nginx, jika mereka mengikat 80/TCP port, dengan mengeluarkan perintah di bawah ini. Output dari perintah sockstat akan disalurkan melalui utilitas grep untuk mengurangi hasil yang dikembalikan hanya ke string nginx.

# sockstat -4 | grep nginx 

5. Akhirnya, buka browser di komputer desktop di jaringan Anda dan kunjungi halaman web Nginx Default melalui HTTP Protocol. Tulis Fqdn mesin Anda atau nama domain Anda atau alamat IP server Anda di URL browser yang diajukan untuk meminta halaman web Default Server Web Nginx. Pesan "Selamat Datang di Nginx!“Harus ditampilkan di browser Anda, seperti yang diilustrasikan dalam tangkapan layar di bawah ini.

http: // yourdomain.com http: // your_server_ip http: // your_machine_fqdn 
Verifikasi nginx di freebsd

6. Direktori WeBoot Default untuk Konten Web Nginx Di Lokasi Di /usr/local/www/nginx/ jalur sistem absolut. Di lokasi ini Anda harus membuat, menyalin atau menginstal file konten web, seperti .html atau .php file, untuk situs web Anda.

Untuk mengubah lokasi ini, edit file konfigurasi utama nginx dan ubah arahan root untuk mencerminkan jalur webroot baru Anda.

# nano/usr/local/etc/nginx/nginx.conf 

Di sini, cari dan perbarui baris berikut untuk mencerminkan jalur webroot baru Anda:

root/path/to/new/webroot; 

Langkah 2: Pasang PHP di FreebsD

7. Tidak seperti Apache http server, nginx tidak memiliki kemampuan untuk memproses kode php secara asli. Sebagai imbalannya, server web Nginx meneruskan permintaan PHP ke penerjemah PHP, seperti php-fpm fastcgi daemon, yang memeriksa dan menjalankan kode. Kode yang dihasilkan kemudian dikembalikan kembali ke Nginx, yang merakit kembali kode kembali ke format HTML yang diminta dan mengirimkan kode lebih lanjut ke browser web pengunjung.

Freebsd 11.X Ports Repositories menawarkan beberapa versi biner untuk bahasa pemrograman PHP, seperti PHP 5.6, PHP 7.0 Dan PHP 7.1 pelepasan. Untuk menampilkan semua versi PHP yang telah dikompilasi sebelumnya Freebsd 11.X, Jalankan perintah di bawah ini .

# PKG Search -O PHP # ls/usr/ports/lang/| GREP PHP 

8. Anda dapat memilih untuk menginstal versi PHP apa pun yang menurut Anda paling cocok untuk aplikasi web yang Anda jalankan di sistem Anda. Namun, di panduan ini kami akan menginstal versi terbaru PhP.

Untuk memasang PHP 7.1 rilis dan beberapa modul penting PHP yang diperlukan untuk beragam aplikasi web, jalankan perintah berikut.

# PKG Instal PHP71 PHP71-MYSQLI PHP71-MCRYPT PHP71-ZLIB PHP71-GD PHP71-JSON MOD_PHP71 PHP71-MBSTRING PHP71-CURL 

9. Setelah Anda memasang paket PHP di sistem Anda, buka Php-fpm file konfigurasi untuk nginx dan menyesuaikan nilai pengguna dan grup agar sesuai dengan nilai pada pengguna runtime nginx, yaitu www. Pertama, buat cadangan file dengan perintah di bawah ini.

# cp/usr/local/etc/php-fpm.d/www.conf ,.cadangan 

Kemudian, buka file dan perbarui baris berikut seperti yang disajikan dalam sampel di bawah ini.

user = www group = www 
Konfigurasikan php-fpm di freebsd

10. Juga, buat file konfigurasi PHP yang digunakan untuk produksi dengan menerbitkan perintah di bawah ini. Pada file ini Anda dapat membuat perubahan khusus yang akan diterapkan pada interpreter PHP saat runtime.

# cp/usr/local/etc/php.INI-produksi/usr/local/etc/php.ini 

Misalnya, ubah tanggal.zona waktu Pengaturan untuk PHP Interpreter untuk memperbarui lokasi fisik mesin Anda seperti yang ditunjukkan pada contoh di bawah ini. Daftar zona waktu php dapat ditemukan di sini: http: // php.net/manual/en/timeZones.php.

# vi/usr/local/etc/php.ini 

Tambahkan zona waktu berikut (atur zona waktu sesuai negara Anda).

tanggal.Timezone = Eropa/London 

Anda juga dapat menyesuaikan variabel PHP lainnya, seperti ukuran file maksimum file yang diunggah, yang dapat ditingkatkan dengan memodifikasi nilai di bawah ini:

unggah_max_filesize = 10m post_max_size = 10m 

11. Setelah itu, Anda telah membuat pengaturan khusus untuk PHP, aktifkan dan mulai Php-fpm daemon untuk menerapkan konfigurasi baru dengan mengeluarkan perintah di bawah ini.

# sysrc php_fpm_enable = ya # layanan php-fpm start 
Mulai dan Aktifkan PHP-FPM di FreeBSD

12. Secara default, Php-fpm Daemon di FreeBSD mengikat pada soket jaringan lokal di port 9000/TCP. Menampilkan Php-fpm soket jaringan menjalankan perintah berikut.

# Sockstat -4 -6 | grep php-fpm 

13. Agar server web nginx lulus skrip php Fastcgi server gateway, yang mendengarkan 127.0.0.1: 9000 soket, buka file konfigurasi utama nginx dan tambahkan blok kode berikut seperti yang diilustrasikan dalam sampel di bawah ini.

# vi/usr/local/etc/nginx/nginx.conf 

Blok kode fastcgi untuk nginx:

 Lokasi ~ \.php $ root/usr/local/www/nginx; fastcgi_pass 127.0.0.1: 9000; indeks fastcgi_index.PHP; fastcgi_param script_filename $ request_filename; Sertakan fastcgi_params;  
Konfigurasikan fastcgi untuk nginx di freebsd

14. Untuk melihat informasi PHP saat ini untuk server Anda, buat file info.php file di jalur weboot nginx dengan mengeluarkan perintah berikut.

# echo "" | TEE/USR/LOCAL/WWW/NGINX/INFO.php 

15. Kemudian, uji dan restart nginx daemon untuk menerapkan Php fastcgi pengaturan dan kunjungi info.php halaman di browser.

# nginx -t # uji file konfigurasi nginx untuk kesalahan sintaks # layanan nginx restart 

Ganti alamat IP atau nama domain di tautan di bawah ini. Halaman info PHP harus menampilkan informasi seperti yang diilustrasikan dalam tangkapan layar di bawah ini.

http: // yourdomain.com/info.php http: // server_ip-ors-fqdn/info.php 
Periksa informasi PHP di FreeBSD

Langkah 3: Instal mariadb di freebsd

16. Komponen terakhir yang hilang dari Anda Femp Tumpukan dalam database. Mariadb/mysql adalah salah satu perangkat lunak RDBMS open source yang paling terkait dengan Nginx Web Server yang digunakan untuk menggunakan situs web dinamis.

Sebenarnya, Mariadb/mysql adalah salah satu database relasional yang paling banyak digunakan di dunia. Mencari melalui Port FreeBSD, Anda dapat menemukan beberapa rilis Mariadb/mysql.

Di panduan ini kami akan menginstal Mariadb database, yang merupakan garpu komunitas Mysql database. Untuk mencari versi yang tersedia dari Mariadb, mengeluarkan perintah berikut di terminal.

# ls -al/usr/port/database/| grep mariadb # pkg pencarian mariadb 
Temukan paket mariadb

17. Untuk menginstal versi terbaru dari server basis data mariadb menjalankan perintah berikut. Anda juga harus menginstal Modul Driver Database Relasional PHP yang digunakan oleh skrip PHP untuk menghubungkan ke MySQL.

# pkg instal mariadb102-server php71-mysqli 

18. Setelah database diinstal, aktifkan daemon mysql dan mulai layanan database dengan menjalankan perintah berikut.

# sysrc mysql_enable = "ya" # layanan mysql-server start 

19. Juga, pastikan Anda restart Php-fpm daemon untuk memuat ekstensi driver mysql.

# layanan restart Php-fpm
20. Pada langkah berikutnya, amankan Mariadb Database dengan meluncurkan mysql_secure_installation naskah. Gunakan sampel di bawah ini dari skrip instalasi untuk menjawab pertanyaan. Pada dasarnya, katakan ya (Y) Untuk semua pertanyaan yang diajukan untuk mengamankan database dan mengetik kata sandi yang kuat untuk pengguna root mysql.
#/usr/local/bin/mysql_secure_installation 
Output skrip instalasi mysql aman
Catatan: Menjalankan semua bagian skrip ini direkomendasikan untuk semua server Mariadb dalam penggunaan produksi! Harap baca setiap langkah dengan cermat! Untuk masuk ke Mariadb untuk mengamankannya, kita akan membutuhkan kata sandi saat ini untuk pengguna root. Jika Anda baru saja menginstal mariadb, dan Anda belum mengatur kata sandi root, kata sandi akan kosong, jadi Anda harus menekan enter di sini. Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada): ok, kata sandi yang berhasil digunakan, bergerak ... pengaturan kata sandi root memastikan bahwa tidak ada yang bisa masuk ke pengguna root mariadb tanpa otorisasi yang tepat. Atur kata sandi root? [Y/n] y Kata Sandi Baru: Masukkan Kembali Kata Sandi Baru: Kata sandi berhasil diperbarui! Muat ulang tabel hak istimewa ... sukses! Secara default, instalasi mariadb memiliki pengguna anonim, yang memungkinkan siapa saja untuk masuk ke Mariadb tanpa harus memiliki akun pengguna yang dibuat untuk mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat instalasi menjadi sedikit lebih halus. Anda harus menghapusnya sebelum pindah ke lingkungan produksi. Hapus pengguna anonim? [Y/n] y… Kesuksesan! Biasanya, root hanya boleh terhubung dari 'localhost'. Ini memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan. Larang login root dari jarak jauh? [Y/n] y… Kesuksesan! Secara default, Mariadb dilengkapi dengan database bernama 'Tes' yang dapat diakses siapa pun. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus sebelum pindah ke lingkungan produksi. Hapus database tes dan akses ke sana? [Y/n] y - Menjatuhkan database tes… sukses! - Menghapus hak istimewa pada database pengujian… Sukses! Muat Ulang Tabel Privilege akan memastikan bahwa semua perubahan yang dilakukan sejauh ini akan segera berlaku. Muat ulang tabel hak istimewa sekarang? [Y/n] y… Kesuksesan! Membersihkan ... semuanya selesai! Jika Anda telah menyelesaikan semua langkah di atas, instalasi mariadb Anda sekarang harus aman. Terima kasih telah menggunakan mariadb! 

21. Untuk menguji koneksi basis data mariadb dari konsol, jalankan perintah di bawah ini.

# mysql -u root -p -e "Tampilkan status seperti 'koneksi'" 

22. Untuk lebih mengamankan MariaDB, yang secara default mendengarkan koneksi jaringan yang masuk 0.0.0.0: 3306/TCP soket, keluarkan perintah di bawah ini untuk memaksa layanan untuk mengikat Loopback antarmuka dan sepenuhnya melarang akses jarak jauh. Setelah itu, restart layanan MySQL untuk menerapkan konfigurasi baru.

# sysrc mysql_args = "-bind-address = 127.0.0.1 " # layanan mysql-server restart 
Bind mariadb ke alamat loopback

Verifikasi jika localhost Ikatan berhasil diterapkan dengan menjalankan perintah netstat seperti yang ditunjukkan pada contoh di bawah ini.

# netstat -an -p TCP 

Itu saja! Anda telah berhasil menginstal server web nginx, basis data relasional mariadb dan bahasa pemrograman sisi server php di freebsd. Anda sekarang dapat mulai membangun halaman web dinamis untuk melayani konten web kepada pengunjung Anda.