Nginx adalah server HTTP gratis, open-source, berkinerja tinggi. Nginx dikenal dengan stabilitasnya, rangkaian fitur yang kaya, konfigurasi sederhana, dan konsumsi sumber daya yang rendah. Tutorial ini menunjukkan cara menginstal Nginx pada openSUSE 12.1 dengan dukungan PHP5 (melalui PHP-FPM) dan dukungan MySQL. PHP-FPM adalah implementasi PHP FastCGI alternatif, ia memiliki beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk).
Hal pertama yang perlu Anda lakukan adalah login sebagai root. Anda dapat login sebagai root di openSUSE dengan mengetik di terminal:
raj@geeksite:~ $ su
Menginstal MySQL 5:
Pertama kita akan menginstal MySQL dengan mengeluarkan perintah berikut.
root@geek:~# zypper in mysql-community-server mysql-community-server-client php5-mysql
Mulai server MySQL.
root@geesksite:~ # systemctl start mysql.service
Langkah 3:Untuk membuat MySQL memulai selama setiap boot, Ketik yang berikut di terminal dan tekan Enter.
root@geesksite:~ # systemctl enable mysql.service
Selanjutnya mengamankan MySQL dengan menggunakan mysql_secure_installation perintah.
Program ini memungkinkan Anda untuk meningkatkan keamanan instalasi MySQL Anda dengan cara berikut:
- Anda dapat mengatur sandi untuk
root
akun. - Anda dapat menghapus
root
akun yang dapat diakses dari luar host lokal. - Anda dapat menghapus akun pengguna anonim.
- Anda dapat menghapus
test
database (yang secara default dapat diakses oleh semua pengguna, bahkan pengguna anonim), dan hak istimewa yang mengizinkan siapa pun untuk mengakses database dengan nama yang dimulai dengantest_
.
root@geeksite:~ # mysql_secure_installation
CATATAN: MENJALANKAN SEMUA BAGIAN Skrip INI DIREKOMENDASIKAN UNTUK SEMUA MySQL
SERVER DI PRODUKSI GUNAKAN! HARAP BACA SETIAP LANGKAH DENGAN SEKSAMA!
Untuk masuk ke MySQL untuk mengamankannya, kami akan membutuhkan yang saat ini
sandi untuk pengguna root. Jika Anda baru menginstal MySQL, dan
Anda belum menyetel sandi root, sandi akan kosong,
jadi Anda cukup tekan enter di sini.
Masukkan sandi saat ini untuk root (masukkan untuk none): <– ENTER
Oke, berhasil menggunakan sandi, lanjutkan…
Menyetel sandi root memastikan bahwa tidak seorang pun dapat masuk ke MySQL
root pengguna tanpa otorisasi yang tepat.
Setel sandi root? [Y/n] <– ENTER
Sandi baru: <– sandi rootsqlAnda
Masukkan kembali sandi baru: <– yourrootsqlpassword
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa..
… Berhasil!
Secara default, penginstalan MySQL memiliki pengguna anonim, yang memungkinkan siapa saja
untuk masuk ke MySQL tanpa harus membuat akun pengguna dibuat untuk
mereka. Ini ditujukan hanya untuk pengujian, dan untuk melakukan pemasangan
sedikit lebih lancar. Anda harus menghapusnya sebelum pindah ke a
lingkungan produksi.
Hapus pengguna anonim? [Y/n] <– ENTER
… Berhasil!
Biasanya, root hanya boleh diizinkan untuk terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.
Larang login root dari jarak jauh? [Y/n] <– ENTER
… Berhasil!
Secara default, MySQL dilengkapi dengan database bernama ‘test’ yang dapat siapa saja
akses. Ini juga ditujukan hanya untuk pengujian, dan harus dihapus
sebelum pindah ke lingkungan produksi.
Hapus database pengujian dan akses ke sana? [Y/n] <– ENTER
– Menghapus basis data pengujian…
… Berhasil!
– Menghapus hak istimewa pada database pengujian…
… Berhasil!
Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan berlaku segera.
Muat ulang tabel hak istimewa sekarang? [Y/n] <– ENTER
… Berhasil!
Membersihkan ...
Semua selesai! Jika Anda telah menyelesaikan semua langkah di atas , MySQL Anda
pemasangan sekarang seharusnya aman.
Terima kasih telah menggunakan MySQL!
Menginstal Nginx:
Nginx sudah tersedia di Paket openSUSE, jadi jalankan perintah berikut untuk menginstal Nginx.
root@geeksite:~ # zypper in nginx-1.0
Mulai Nginx setelah penginstalan.
root@geekssite:~ # systemctl start nginx.service
Uji instalasi Nginx Anda dengan membuka browser web Anda dan Navigasikan ke http://127.0.0.1 . Anda akan mendapatkan halaman web berikut yang mengatakan 403 Forbidden, ini karena tidak ada file index.html di direktori /srv/www/htdocs.
Root dokumen nginx default pada openSUSE 12.1 adalah /srv/www/htdocs. File konfigurasi berada di bawah direktori /etc/nginx.
Mulai Otomatis Nginx.
root@geeksite:~ # systemctl enable nginx.service
Memasang PHP5-FPM:
Selanjutnya adalah menginstal PHP5 melalui PHP-FPM (PHP-FPM (FastCGI Process Manager), ini adalah implementasi PHP FastCGI alternatif yang memiliki beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk). Instal dengan mengeluarkan perintah berikut.
root@geeksite:~ # yum install php5-fpm
Sebelum memulai PHP-FPM; kita perlu memiliki file konfigurasi, salin contoh file konfigurasi ke /etc/php5/fp/php-fpn.conf.
root@geeksite:~ # cp /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf
Edit /etc/php5/fpm/php-fpm.conf ubah error_log menjadi /var/log/php-fpm.log dan batalkan komentar pm.min_spare_servers dan pm.max_spare_servers .
[.More.] error_log = /var/log/php-fpm.log [.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Mulai atau mulai ulang layanan PHP-FPM.
root@geeksite:~ # systemctl restart php-fpm.service
Mulai ulang server Nginx.
root@geeksite:~ # systemctl restart nginx.service
Mengaktifkan dan Menguji Dukungan PHP-FPM pada Virtual Host:
Mari kita buat host virtual berbasis nama di server Nginx untuk detail berikut.
Nama Server : geeksite.local
Akar Dokumen : /srv/www/htdocs/geeksite.local
Kita dapat menempatkan file konfigurasi di bawah /etc/nginx/vhosts.d direktori yang tidak ada, jadi buat direktori.
root@geeksite:~ # mkdir /etc/nginx/vhosts.d
Buat file konfigurasi bernama virtual.conf dan Edit /etc/nginx/conf.d/virtual.conf .
root@geeksite:~ # vi /etc/nginx/vhosts.d/virtual.conf
Tambahkan konten berikut.
server { server_name geeksite.local; root /srv/www/htdocs/geeksite.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/htdocs/geeksite.local$fastcgi_script_name; } }
Buat entri host untuk domain geeksite.local di file /etc/hosts.
root@geeksite:~ # vi /etc/hosts
tambahkan entri untuk geeksite.local, barisnya akan terlihat seperti di bawah ini.
127.0.0.1 localhost.localdomain localhost geeeksite.local
Buat direktori root dokumen
root@geeksite:~ # mkdir /srv/www/htdocs/geeksite.local
Untuk menguji PHP, Tempatkan satu file PHP ke root dokumen dari host virtual yang dibuat.
Mulai ulang layanan Nginx dan PHP-FPM.
root@geeksite:~ # systemctl restart nginx.service
root@geeksite:~ # systemctl restart php-fpm.service
Di terminal salin/tempel baris berikut:
root@geeksite:~ # vi /srv/www/htdocs/geeksite.local/index.php
Ini akan membuka file bernama index.php.
Salin/Tempel baris ini ke dalam file index.php:
<?php phpinfo(); ?>
Simpan dan tutup file. gunakan Esc +;wq untuk menyimpan file.
Sekarang buka browser web Anda dan ketik berikut ini ke dalam alamat web:
http://geeksite.local
Tampilan halaman seperti di bawah ini:
Dari tangkapan layar di atas, PHP5 berfungsi, dan bekerja melalui FPM/FastCGI, seperti yang ditunjukkan pada baris Server API. Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5.
Gulir ke bawah browser dan cari informasi dukungan MySQL.
Itu saja!