Tutorial ini menunjukkan bagaimana cara install Apache pada CentOS 7.0 server dengan dukungan PHP5 (mod_php) dan dukungan MySQL. LAMP adalah singkatan untuk Linux, Apache, MySQL, PHP (LAMP).
1 Catatan Awal
Dalam tutorial ini saya menggunakan server1.example.com sebagai hostname dengan alamat IP 192.168.0.100. Pengaturan ini mungkin berbeda untuk Anda, sehingga Anda harus mengganti mereka di jika diperlukan.Kita disini akan menambahkan EPEL-7 repo untuk menginstal phpMyAdmin terbaru dengan perintah sebagai berikut:
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
2 Instalasi MySQL 5
Untuk menginstal MySQL, kita melakukan instalasi MariaDB seperti ini:
1
|
yum -y install mariadb-server mariadb
|
1
2
|
systemctl start mariadb.service
systemctl enable mariadb.service
|
1
|
mysql_secure_installation
|
[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <–ENTER
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n]
New password: <–yourmariadbpassword
Re-enter new password: <–yourmariadbpassword
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <–ENTER
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <–ENTER
… Success!
By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <–ENTER
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <–ENTER
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@server1 ~]#
3 Instalasi Apache2
Apache2 langsung tersedia sebagai paket CentOS 7.0, oleh karena itu kita dapat langsung menginstalnya seperti ini:
1
|
yum -y install httpd
|
[root@server1 ~]# yum install httpdApache secara default akan diinstal, jika tidak maka silakan-install seperti yang ditunjukkan di atas
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.plusline.de
* extras: mirror.23media.de
* updates: mirror.23media.de
Package httpd-2.4.6-17.el7.centos.1.x86_64 already installed and latest version
Nothing to do
[root@server1 ~]#
Sekarang mengkonfigurasi sistem anda untuk memulai Apache pada saat boot …
1
2
3
|
systemctl start httpd.service
systemctl enable httpd.service
|
1
2
3
|
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
|
default Apache2:
4 Instalasi PHP5
Kita dapat menginstal PHP5 dan modul Apache PHP5 sebagai berikut:
1
|
yum -y install php
|
1
|
systemctl restart httpd.service
|
5 Pengujian PHP5 / Mendapatkan Detail Tentang Instalasi PHP5
Root dokumen situs web default adalah /var/www/html. Sekarang kita akan membuat file PHP kecil conton (info.php) dalam direktori tersebut dan coba akses di browser. File akan menampilkan banyak rincian yang berguna tentang instalasi PHP kita, seperti versi PHP yang diinstal.
1
|
vi /var/www/html/info.php
|
1
2
3
|
<?php
phpinfo();
?>
|
Seperti yang Anda lihat, PHP5 sudah terinstall dan bekerja, dan itu bekerja melalui Handler Apache 2.0, seperti ditunjukkan pada baris Server API. Jika Anda menggulir ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5. MySQL tidak terdaftar di sana yang berarti kita tidak memiliki dukungan MySQL di PHP5.
6 Mendapatkan Dukungan MySQL Dalam PHP5
Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lain sebaik Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 tersedia seperti ini:
1
|
yum search php
|
1
|
yum -y install php-mysql
|
1
|
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
|
1
|
systemctl restart httpd.service
|
7 instalasi phpMyAdmin
phpMyAdmin adalah antarmuka web di mana Anda dapat mengelola database MySQL Anda.phpMyAdmin sekarang dapat diinstal sebagai berikut:
1
|
yum install phpMyAdmin
|
1
|
vi /etc/httpd/conf.d/phpMyAdmin.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#<Directory /usr/share/phpMyAdmin/>
# <IfModule mod_authz_core.c>
# # Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
# </IfModule>
# <IfModule !mod_authz_core.c>
# # Apache 2.2
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
# </IfModule>
#</Directory>
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
[...]
|
1
2
3
|
[...]
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
[...]
|
1
|
systemctl restart httpd.service
|
8 Links
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/