♺ Google is the best teacher ♺ | University of Gunadarma IT ☺

LAMP Server dengan Fedora 16 XFCE


Salah satu keunggulan Linux adalah dapat digunakan sebagai Desktop ataupun Server sekaligus. Server di Linux yang paling mudah dipasang adalah WebServer dan digunakan untuk berbagai keperluan seperti untuk membuat local web server untuk keperluan belajar membuat website atau bagi web desainer dalam membuat desain web. Catatan kali ini adalah membuat WebServer LAMP yang merupakan kepanjangan dari Linux, Apache WebServer, MySQL database server serta PHP. Fokusnya adalah mengenai aturan pengelolaan Service httpd dan mysqld yang tidak semudah seperti waktu dulu pada Rilis Fedora 14 dan sebelumnya. Pada rilis-rilis lawas tersebut, httpd dan mysql sudah terdapat pada System Config Services. Untuk start dan stop menggunakan System Config Services.

Inslatasi Linux Distribusi Fedora

Asumsinya bahwa Fedora 16 XFCE sudah terpasang dengan metode LiveUSB. Fedora 16 XFCE LiveCD dapat diunduh pada Fedora Project. Bisa juga menggunakan LiveCD Fedora 16 biasa (GNOME), namun buat ngoprek server sebaiknya tingalkan saja keindahan Desktop dan pilih kecepatan dan kesederhanaan yang ada di XFCE.
Mulai Fedora 15 dan khususnya Fedora 16 untuk mengelola Services digunakan systemctl yang secara bawaannya belum memasukkan httpd dan mysqld sebagai service dan harus dimasukkan secara manual. Tujuannya adalah unuk memaksimalkan keamanan (Security) jika memang kedua daemon tersebut tidak diperlukan. Sebelum instalasi httpd (Apache), MySQL dan PHP,  pasang dulu saja beberapa paket aplikasi System Config, sebagai contoh adalah system-config-services dan system-config-firewall jika memang dirasakan perlu.

System Config Services

Instalasi System Config Services adalah sebagai berikut:
01[ywandanoe@localhost ~]$ sudo yum install system-config-services
02[sudo] password for ywandanoe:
03Loaded plugins: langpacks, presto, refresh-packagekit
04Google                                                   |  951 B     00:00
05adobe-linux-i386                                         |  951 B     00:00
06fedora-chromium                                          | 3.4 kB     00:00
07fedora-chromium/primary_db                               |  14 kB     00:00
08fedorautils                                              | 3.2 kB     00:00
09rpmfusion-free-updates                                   | 3.3 kB     00:00
10rpmfusion-free-updates/primary_db                        | 8.4 kB     00:00
11rpmfusion-nonfree-updates                                | 3.3 kB     00:00
12rpmfusion-nonfree-updates/primary_db                     | 7.8 kB     00:00
13skype                                                    | 1.2 kB     00:00
14updates/metalink                                         | 5.2 kB     00:00
15updates                                                  | 4.7 kB     00:01
16updates/primary_db                                       | 1.2 MB     00:14
17updates/group_gz                                         | 431 kB     00:06
18Setting up Install Process
19Resolving Dependencies
20--> Running transaction check
21---> Package system-config-services.noarch 0:0.101.7-1.fc16 will be installed
22--> Processing Dependency: gamin-python for package: system-config-services-0.101.7-1.fc16.noarch
23--> Running transaction check
24---> Package gamin-python.i686 0:0.1.10-10.fc16 will be installed
25--> Finished Dependency Resolution
26
27Dependencies Resolved
28
29================================================================================
30Package                     Arch        Version              Repository   Size
31================================================================================
32Installing:
33system-config-services      noarch      0.101.7-1.fc16       fedora      199 k
34Installing for dependencies:
35gamin-python                i686        0.1.10-10.fc16       fedora       33 k
36
37Transaction Summary
38================================================================================
39Install       2 Packages
40
41Total download size: 232 k
42Installed size: 232 k
43Is this ok [y/N]:
System Config Services pada Fedora XFCE dapat dijalankan melalui Applications Menu >> Administration >> Services

Instalasi Apache HTTPD server

Instalasi httpd server dapat menggunakan paket yang sudah tersedia dalam repo everything Fedora 16, atau jika ingin paket-paket server rilis versi terbaru dapat menggunakan repository Remi. Asumsinya semua paket akan memakai repository yang sudah tersedia di Fedora 16. Untuk memasang repo Remi secara manual dapat membaca post mengenai Pasca Instalasi Fedora 15. Untuk memasang httpd server cukup dilakukan dengan perintah:
1[ywandanoe@localhost ~]$ sudo yum install httpd
Bisa di periksa pada System Config Services belum terdapat service httpd seperti yang diperlihatkan pada gambar di atas.

Instalasi MySQL Server

MySQL server tidak memiliki aplikasi GUI untuk mengelolanya, biasanya pengguna harus menguasai perintah-perintah berbasis text untuk mengelola database seperti menambahkan user, melakukan perubahan privileges user, membuat database dan sebagainya. Pada kegiatan awal setelah instalasi MySQL biasanya dilanjutkan dengan paling tidak menambahkan user selain root yang digunakan untuk keperluan selanjutnya. Tools yang bagus dan cukup mudah untuk dipakai untuk mempelajari MySQL sekaligus perintah teksnya adalah MySQL Workbench. Instalasinya adalah sebagai berikut, instalasi MySQL Server dan MySQL Workbench,
1[ywandanoe@localhost ~]$ sudo yum install mysql-server mysql-workbench
Selanjutnya adalah menghidupkan httpd dan mysql service daemon,
httpd service
1[ywandanoe@localhost ~]$ sudo systemctl enable httpd.service
2[sudo] password for ywandanoe:
3ln -s '/lib/systemd/system/httpd.service''/etc/systemd/system/multi-user.target.wants/httpd.service'
mysql service
1[ywandanoe@localhost ~]$ sudo systemctl enable mysqld.service
2ln -s '/lib/systemd/system/mysqld.service''/etc/systemd/system/multi-user.target.wants/mysqld.service'
Periksa pada System Config Service untuk melihat httpd dan mysqld sebagai service,
Terlihat bahwa httpd dan mysqld sudah terdaftar dalam service pada System Config Services, untuk menjalankan service httpd dan mysql tinggal klik saja tombol start, tunggu beberapa saat sampai tanda segitiga berubah menjadi kotak.
Tahap berikutnya melakukan pemberian root password mysql dengan menggunakan mysql_secure_installation,
1[ywandanoe@localhost ~]$ sudo/usr/bin/mysql_secure_installation
Selain men-set root mysql password, perintah ini akan melakukan beberapa langkah pengamanan seperi menghapus database test, menghapus anonimous user dan beberapa langkah pengamanan lainnya,
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we\'ll need the current
password for the root user.  If you\'ve just installed MySQL, 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):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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] Y
... 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] Y
... Success!

By default, MySQL 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] Y
- 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] Y
... Success!

Cleaning up...

All done!  If you\'ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!
Biasanya untuk keperluan web server lokal, mysql diakses sebagai localhost saja, kecuali jika ingin diakses dari tempat lain maka perlu di set port 3306 pada firewall. Root User Mysql digunakan hanya untuk keperluan penting saja, oleh karena itu buatlah user lain dan berikan beberapa grant access dengan menggunakan MySQL Workbench.

Instalasi PHP Hypertext Preprocessor

Jika ingin memasang WordPress, Joomla!, Drupal ataupun CodeIgniter misanya, atau ingin belajar PHP, maka tahap terakhir adalah memasang php dan beberapa pustaka php lainnya seperi php-mysql sebagai berikut,
1[ywandanoe@localhost ~]$sudo yum  -y install php php-common php-pear php-pdo php-mysql php-pecl-memcache php-gd php-mbstring php-mcrypt php-xml
Selanjutnya cek konfigurasi web server, mysql dan php dengan membuat file info.php di webroot directory,
1[ywandanoe@localhost ~]$sudo gedit /var/www/html/info.php
Jalankan firefox dan buka halaman info.php yang telah dibuat tadi

Akses MySQL dan HTTPD dari Jaringan

Agar supaya MySQL dan WebServer LAMP dapat diakses dari PC komputer lain melalui Jaringan, maka perlu di set sesuatu pada Firewal. Caranya mudah saja cukup memakai System Config Firewall pada XFCE Applications Menu >> Administration >> Firewall
Setting httpd untk akses jaringan dari pc lain,
Setting Port 3306 untuk akses MySQL dari jaringan (jika perlu), Klik Other Port seperti yang ditujukkan pada gambar di atas dan akan muncul jendela konfigurasi Port and Protocol,

Hey… pssst… pssstt!

Ternyata setting WebServer di Linux sangat mudah ya? Mengapa settingnya tidak pakai command line? Linux itu sekarang milik semua orang termasuk pembelajar seperti kita bukan milik admin dan geek saja… ya…
 

0 comments:

Post a Comment

silahkan tinggalkan komentar anda disini .. :D