Tutorial ini menunjukkan cara menginstal server web Apache di server CentOS 7 dengan PHP (mod_php) dan database MySQL. Akronim LAMP adalah kependekan dari L inux, A tempel, M ySQL, P HP.
Tutorial yang diperbarui ini menunjukkan penginstalan versi PHP terbaru (7.0, 7.1 dan 7.2) pada CentOS 7.4.
1 Catatan Awal
Dalam tutorial ini, saya menggunakan hostname server1.example.com dengan IP p 192.168.1.100. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
Saya akan menambahkan repo EPEL di sini untuk menginstal phpMyAdmin terbaru sebagai berikut:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
Untuk mengedit file di shell, saya akan menginstal editor nano. Jika Anda lebih suka vi untuk mengedit file, lewati langkah ini.
yum -y install nano
2 Menginstal MySQL / MariaDB
MariaDB adalah garpu MySQL dari pengembang MySQL asli Monty Widenius. MariaDB kompatibel dengan MySQL dan saya telah memilih untuk menggunakan MariaDB di sini daripada MySQL. Jalankan perintah ini untuk menginstal MariaDB dengan yum:
yum -y install mariadb-server mariadb
Kemudian kita membuat link startup sistem untuk MySQL (sehingga MySQL mulai secara otomatis setiap kali sistem boot) dan memulai server MySQL:
systemctl start mariadb.service
systemctl aktifkan mariadb.service
Setel kata sandi untuk akun root MySQL:
mysql_secure_installation
[[email protected] ~]# mysql_secure_installation
CATATAN:MENJALANKAN SEMUA BAGIAN SKRIP INI DIREKOMENDASIKAN UNTUK SEMUA SERVER MariaDB
SERVER YANG DIGUNAKAN PRODUKSI! HARAP BACA SETIAP LANGKAH DENGAN SEKSAMA!
Untuk masuk ke MariaDB untuk mengamankannya, kita memerlukan
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 cukup menekan enter di sini.
Enter kata sandi saat ini untuk root (masukkan untuk tidak ada):<--ENTER
Oke, kata sandi berhasil digunakan, lanjutkan...
Menyetel kata sandi root memastikan bahwa tidak ada yang bisa masuk ke MariaDB
pengguna root tanpa otorisasi yang tepat.
Tetapkan kata sandi root? [Y/n]
Sandi baru:<--yourmariadbpassword
Masukkan kembali sandi baru:<--yourmariadbpassword
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa..
... Berhasil!
Secara default, penginstalan MariaDB memiliki pengguna anonim, memungkinkan siapa saja
untuk masuk ke MariaDB tanpa harus membuat akun pengguna untuk
mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat penginstalan
berjalan sedikit lebih lancar. Anda harus menghapusnya sebelum pindah ke
lingkungan produksi.
Hapus pengguna anonim? [Y/n] <--ENTER
... Berhasil!
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] <--ENTER
... Sukses!
Secara default, MariaDB hadir dengan database bernama 'test' yang dapat
akses siapa saja. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus
sebelum pindah ke lingkungan produksi.
Hapus database pengujian dan akses ke sana? [Y/n] <--ENTER
- Menghapus database pengujian...
... Berhasil!
- Menghapus hak istimewa pada database pengujian...
... Berhasil!
Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan segera berlaku.
Muat ulang tabel hak istimewa sekarang? [Y/n] <--ENTER
... Sukses!
Bersihkan...
Selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan MariaDB
Anda seharusnya sudah aman.
Terima kasih telah menggunakan MariaDB!
[[email protected] ~]#3 Menginstal Apache
CentOS 7 dikirimkan dengan Apache 2.4. Apache langsung tersedia sebagai paket CentOS 7, oleh karena itu kita dapat menginstalnya seperti ini:
yum -y install httpdBerikut screenshot dari proses instalasi.
Sekarang konfigurasikan sistem Anda untuk memulai Apache saat boot...
systemctl start httpd.servicesystemctl aktifkan httpd.serviceUntuk dapat mengakses web server dari luar, kita harus membuka port HTTP (80) dan HTTPS (443) di firewall. Firewall default pada CentOS adalah firewalld yang dapat dikonfigurasi dengan perintah firewalld-cmd.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reloadSekarang arahkan browser Anda ke alamat IP server Anda, dalam kasus saya http://192.168.1.100, dan Anda akan melihat halaman placeholder Apache:
4 Menginstal PHP
Versi PHP yang dikirimkan dengan CentOS sebagai default sudah cukup lama (PHP 5.4). Oleh karena itu, saya akan menunjukkan kepada Anda di bab ini beberapa opsi untuk menginstal versi PHP yang lebih baru seperti PHP 7.0 atau 7.1 dari repositori Remi.
Tambahkan repositori Remi CentOS.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpmInstal yum-utils karena kita membutuhkan utilitas yum-config-manager.
yum -y install yum-utilsdan jalankan pembaruan yum
pembaruan enakSekarang Anda harus memilih versi PHP mana yang ingin Anda gunakan di server. Jika Anda ingin menggunakan PHP 5.4, lanjutkan ke bab 4.1. Untuk menginstal PHP 7.0, ikuti perintah di bab 4.2, untuk PHP 7.1 bab 4.3 dan untuk PHP 7.1, gunakan bab 4.4 sebagai gantinya. Ikuti hanya satu dari 4.x bab dan tidak semuanya karena Anda hanya dapat menggunakan satu versi PHP pada satu waktu dengan Apache mod_php.
4.1 Instal PHP 5.4
Untuk menginstal PHP 5.4, jalankan perintah ini:
yum -y install php4.2 Instal PHP 7.0
Kita dapat menginstal PHP 7.0 dan modul Apache PHP 7.0 sebagai berikut:
yum-config-manager --enable remi-php70yum -y install php php-opcache4.3 Instal PHP 7.1
Jika Anda ingin menggunakan PHP 7.1, gunakan:
yum-config-manager --enable remi-php71yum -y install php php-opcache4.4 Instal PHP 7.2
Jika Anda ingin menggunakan PHP 7.2, gunakan:
yum-config-manager --enable remi-php72yum -y install php php-opcacheDalam contoh ini dan di mesin virtual yang dapat diunduh, saya akan menggunakan PHP 7.2.
Kita harus me-restart Apache untuk menerapkan perubahan:
systemctl restart httpd.service5 Menguji PHP / Mendapatkan Detail Tentang Instalasi PHP Anda
Akar dokumen dari situs web default adalah /var/www/html. Kami akan membuat file PHP kecil (info.php) di direktori itu dan memanggilnya di browser untuk menguji instalasi PHP. File akan menampilkan banyak detail berguna tentang instalasi PHP kami, seperti versi PHP yang diinstal.
nano /var/www/html/info.phpSekarang kita memanggil file itu di browser (mis. http://192.168.1.100/info.php):
Seperti yang Anda lihat, PHP 7.2 bekerja, dan bekerja melalui Apache 2.0 Handler, seperti yang ditunjukkan pada baris Server API. Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP. MySQL tidak terdaftar di sana yang berarti kami belum memiliki dukungan MySQL di PHP.
6 Mendapatkan Dukungan MySQL Dalam PHP
Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php-mysqlnd. Ini adalah ide yang baik untuk menginstal beberapa modul PHP lain serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:
yum cari phpPilih yang Anda butuhkan dan instal seperti ini:
yum -y install php-mysqlnd php-pdoPada langkah selanjutnya saya akan menginstal beberapa modul PHP umum yang dibutuhkan oleh Sistem CMS seperti Wordpress, Joomla, dan Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-develSekarang restart server web Apache:
systemctl restart httpd.serviceSekarang muat ulang http://192.168.1.100/info.php di browser Anda dan gulir ke bawah ke bagian modul lagi. Anda sekarang akan menemukan banyak modul baru seperti curl dll di sana.:
Jika Anda tidak memerlukan output info php lagi, hapus file tersebut untuk alasan keamanan.
rm /var/www/html/info.php7 instalasi phpMyAdmin
phpMyAdmin adalah antarmuka web di mana Anda dapat mengelola database MySQL Anda.
phpMyAdmin sekarang dapat diinstal sebagai berikut:yum -y install phpMyAdminSekarang kita mengkonfigurasi phpMyAdmin. Kami mengubah konfigurasi Apache sehingga phpMyAdmin mengizinkan koneksi tidak hanya dari localhost (dengan mengomentari bait
dan menambahkan baris 'Memerlukan semua yang diberikan'): nano /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
#
# Membutuhkan ip 127.0.0.1
# Membutuhkan ip ::1
#
Wajibkan semua diberikan
# Apache 2.2
Order Deny,Allow
Tolak dari Semua
Izinkan dari 127.0.0.1
Izinkan dari ::1
Opsi tidak ada AllowOverride Limit Wajibkan semua diberikan
[...]Selanjutnya kita ubah otentikasi di phpMyAdmin dari cookie menjadi http:
nano /etc/phpMyAdmin/config.inc.php[...]$cfg['Server'][$i]['auth_type'] ='http'; // Metode otentikasi (berbasis config, http atau cookie)?[...]Mulai ulang Apache:
systemctl restart httpd.serviceSetelah itu, Anda dapat mengakses phpMyAdmin di http://192.168.1.100/phpmyadmin/:
8 Unduh sebagai mesin virtual
Pengaturan ini tersedia sebagai unduhan mesin virtual dalam format ova/ovf (kompatibel dengan VMWare dan Virtualbox) untuk pelanggan howtoforge.
Detail login untuk VM
- Kata sandi root Linux adalah:howtoforge.
- Kata sandi root MySQL adalah:howtoforge
Harap ubah kedua sandi saat login pertama.
- Alamat IP VM adalah 192.168.1.100
9 Tautan
Apache:http://httpd.apache.org/
PHP:http://www.php.net/
MySQL:http://www.mysql.com/
CentOS:http://www.centos.org/
phpMyAdmin:http://www.phpmyadmin.net/