Thursday, March 22, 2018

Langkah Menginstall LAMP(Linux, Apache2.4, MariaDB10, PHP7.1) Server di Linux Mint

Posted by Belajar Islam on March 22, 2018 with No comments





Assalamu'alaikum Warahmatullahi 

Wabarakatuh


السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ






A. Pendahuluan
 Hay… bertemu lagi dengan saya pada kesempatan kali ini saya akan sedikit sharing tentang Langkah install LAMP pelajari dan dapatkan saat PKL di BLC Telkom Klaten.

1. Pengertian
LAMP stack adalah sekelompok perangkat lunak open source yang digunakan untuk server web,database server dan berjalan. akronim berdiri untuk Linux, Apache, MariaDB, dan PHP.

 LAMP Server (Linux, Apache, MySQL, PHP (atau Perl) adalah salah satu yang paling penting server Anda mungkin pernah mengatur. Ini akan dengan senang hati melayani sampai dinamis, situs web database-driven. Sejak server LAMP ini yang mendasari pondasi Linux itu menikmati rock-solid kehandalan, keamanan, dan dapat diinstal pada semua jenis perangkat keras (dari yang old white-box Anda memiliki multi-CPU,sampai RAID-enabled rak server).

Karena OS sudah terinstal, semua kita harus install Apache, MySQL dan PHP. Jadi hanya ada tiga langkah utama untuk mengurus untuk mendapatkan server LAMP Anda dan berjalan. Ingat, Anda akan menggunakan baris perintah, sehingga membuka jendela terminal favorit Anda (atau, jika Anda menggunakan server GUI-kurang menginstal, log in). Kami akan menangani instalasi sedikit keluar dari urutan (dari akronim).

2. Latar Belakang
latar belakang dari kegiatan kali ini adalah konfigurasi dasar untuk membuat web yang berbasis cms dan Open SID.

3. Maksud dan tujuan
Maksud dan tujuan saya menginstal Lamp agar bisa masuk ke phpmyadmin untuk mempelajari Open SID.

B.Alat dan Bahan 
 Laptop
 Koneksi internet

C.Jangka waktu pelaksanaan
 sekitar 30-40 menit

D.Proses dan Tahapan
 1. buka terminal dengan shortcut (Ctrl + Alt + T), atau dengan membuka terminal melalui menu, seperti gambar dibawah ini .




2. Setelah buka terminal masukan perintah dibawah ini atau sesuai dengan gambar/screenshot dibawah ini

$sudo add-apt-repository ppa:ondrej/php



jangan lupa tekan enter

3. Setelah anda tambahkan repositorinya, sekarang update linux anda dengan perintah dibawah ini atau sesuai dengan gambar dibawah ini

     $sudo apt-get update




4. Setelah anda update anda juga harus menupgrade linux anda dengan perintah dibawah ini,

$sudo apt-get dist-upgrade



tunggu sampai installasi upgrade selesai



5. Setelah upgrade selesai anda bisa mulai menginstall aplikasi pertama yaitu apache2.4 yaitu apliakasi yang kita gunakan sebagai aplikasi penyedia layanan http atau web server, masukan perintah dibawah ini untuk mengintall apache seperti gambar dibawah ini juga

$sudo apt-get install apache2



tekan enter untuk Y besar, dan tunggu sampai proses installasi selesai seperti gambar dibawah ini.





jika installasi apache2 telah selesai maka silahkan anda coba buka melalui web browser dengan membuka alamat ke http://localhost , jika muncul seperti gambar dibawah ini menunjukan bahwa web server telah berjalan dengan baik " It works! "



6. Jika proses installasi apache2 sudah bejalan lancar 100% silahkan anda dapat melanjutkan menginstall php7.1, php merupakan bahasa pemrograman server side atau bahasa pemrograman yang berjalan hanya pada server atau php-engine, untuk menginstall php7.1 kali ini saya akan installkan beserta beberapa ekstension php dan juga libapache2-mod-php7.1 agar php dapat dijalankan pada web server, perintahnya seperti dibawah ini atau sesuai dengan gambar dibawah ini.


$sudo apt-get install php7.1 php7.1-cli php7.1-common php7.1-curl php7.1-dev php7.1-gd php7.1-imap php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-pgsql php7.1-phpdbg php7.1-sqlite3 php7.1-sybase php7.1-xml php7.1-xmlrpc php7.1-xsl php7.1-zip libapache2-mod-php7.1


jangan lupa tekan enter untuk Y besar, dan tunggu proses installasi selesai



setelah proses installasi selesai kita harus menguji apakah php sudah berjalan di webserver(apache2) kita atau belum, dengan cara menjalankan bahasa php contoh uji coba sederhana yaitu menggunakan phpinfo(); atau salah satu function di php yang sudah built-in untuk mengecek php dan komponen komponen lainnya, langsung sama buat file dengan nama phpinfo.php di directory /var/www/html/(document-root apache default), dan kali ini saya menggunakan text editor xed bawaan linux mint 18.1, anda dapat menggunakan edittor lain seperti gedit,vim,nano,pico, atau sejenis lainnya yang merupakan aplikasi bawaan dari linux mint 18.1, langsung masukan perintah dibawah ini

$sudo xed /var/www/html/phpinfo.php



maka akan tampil text editor gui seperti gambar dibawah ini dengan garis merah bertuliskan Elevated Privileges karena kita mengunakan mode sudo atau root.




selanjutnnya tuliskan baris program php seperti gambar dibawah ini

<?php phpinfo(); ?> 


                              


kemudian klik file->save dan close atau tutup text editor anda

 selanjutnya anda dapat membuka web browser anda dan masuk ke alamat

http://locahost/phpinfo.php <<<--sesuai dengan nama file yang kita buat tadi




selain mengecek php yang berjalan di webserver atau apache kita, kita juga harus mengecek php yang berjalan di mode cli atai php-cli dengan perintah diterminal yaitu


$php -v



jika belum muncul seperti gambar diatas maka anda harus menginstall paket php7.1-cli melalui terminal dengan perintah

$sudo apt-get install php7.1-cli


7. Setelah kita selesai menginstall apache2 dan php7.1 kita belum akan menginstall mariadb dan phpmyadmin karena ada beberapa konfigurasi tambahan untuk web development yang harus kita konfigurasi seperti mengaktifkan mod_rewrite, mengubah php

$a2enmod rewrite



 jika anda sudah men-enable rewrite kita harus mengedit file default site kita untuk menambahkan bahwa di site default kita, kita mengijinkan/memberi akses untuk mod_rewrite ini, langsung saja masukana perintah dibawah ini

$sudo xed /etc/apache2/sites-available/000-default.conf


akan muncul beberapa baris konfigurasi seperti dibawah ini dalam text editor xed kita


tambahkan/selipkan beberapa baris konfigurasi mod_rewrite seperti gambar dibawah ini

<Directory /var/www/html>
Options Indexes FollowSymlinks MultiViews
AllowOverride All
Require all granted
</Directory> 





kemudian silahkan save (Ctrl + S) dan close editor anda, setelah kita menambah beberapa baris konfigurasi di atas kita restart web server kita atau apache2 kita dengan perintah dibawah ini atau seperti gambar dibawah

$sudo service apache2 restart



kemudian anda buka phpinfo lagi dan anda reload kemudian anda car seperti gambar dibawah ini
Loaded Modules -> mod_rewrite



8. Berikutnya Ubah konfigurasi php.ini ke versi development, kenapa kita harus mengubah ke versi development?, ok mari kita buat eksperimen sederhan dengan beberapa baris kode php seperti gambar dibawah ini, kita buka lagi file phpinfo

$sudo xed /var/www/html/phpinfo.php

setelah editor terbuka hilangkan satu tanda kurung " ( " pada baris kode program kita seperti gambar dibawah ini, kemudian anda save dan close 


setelah anda close coba kita buka phpinfo kita di http://localhost/phpinfo.php dan reload, maka anda akan mendapat error 500 seperti gambar dibawah ini, error 500 ini menjukan salah satu proteksi bahwa php kita tidak ingin menampilkan error nya pada browser atau client tentu ini merupakan versi untuk production seperti yang teman-teman ketahui, nah. . . sebagai web development tentu jika ada error maka anda ingin mengetahui error-nya ada dimana kan? maka anda harus mengubah versi php.ini ke developmetn dengan cara dibawah berikutnya.





untuk mengubah php.ini ini kita bisa meng-backup php.ini bawaan apache atau php.ini yang production dengan perintah dibawah ini

$sudo mv /etc/php/7.1/apache2/php.ini /etc/php/7.1/apache2/php.ini.backup-asli

setelah anda berhasil men-backup kita copy-kan php.ini-development ke php.ini kita dengan perintah dibawah ini
$sudo cp /usr/lib/php/7.1/php.ini-development /etc/php/7.1/apache2/php.ini
setelah kita copy-kan anda dapat men-restart webserver kita atau apache kita dengan perintah

$sudo service apache2 restart



kemudian setelah kita restart, jika anda membuka lagi phpinfo.php dan mereload nya di web browser maka akan tampil erronya seperti gambar dibawah ini.




dan jika anda pulihkan file phpinfo.php nya ke semula dan kemudian anda save seperti gambar dibawah ini maka anda akan mendapati phpinfo tetap berjalan normal seperti gambar dibawah ini








9. Setelah anda mengubah php.ini, selanjutnya kita akan mengubah mode user yang menjalankan apache2 konsep ini mirip-mirip seperti konsep server hosting standalone yang menjalankan apache2 atau web servernya menggukan user nobody akan tetapi setiap public_html directory diberikan hak akses ke tiap-tiap user pengguna hosting sendiri, sebelum kita mengkonfigurasi atau mengubah mode user yang menjalankan apache2 maka ada baiknya kita perlu tahu user dan group yang ada di laptop/pc kita agar tidak salah ketika menjalankan atau mengikuti langkah kali ini, seperti gambar dibawah ini menggunakan perintah $w, untuk mengetahui user





 pada web server yang akan saya jalankan kali ini saya akan ubah mode user yang menjalankan ke mode user -> Anio , dengan group default yaitu -> www-data , karena aji tidak termasuk dalam group www-data seperti gambar dibawah ini dengan perintah






$id anio

maka pertama kita harus memasukan user tersebut ke grub www-data dengan perintah dibawah ini ( sesuaikan dengan )

$sudo usermod -a -G www-data anio
setelah anda memasukan perintah diatas jika anda check maka anda sudah bisa menemukan dengan menggunakan perintah $id anio user aji sudah tegabung
langsung saja jika user aji sudah terdaftar maka anda dapat meng-edit konfigurasi apache2 pada file envvars di /etc/apache2/envvars menggunakan perintah dibawah ini seperti dengan gambar dibawah ini
$sudo xed /etc/apache2/envvars
 dari yang semulanya pada APACHE_RUN_USER dan APACHE_RUN_GROUP terisi www-data dan www-data seperti gambar dibawah ini.




 export APACHE_RUN_USER=anio #cukup ini saja yang anda ubah
export APACHE_RUN_GROUP=www-data

kemudian ubah file owner pada document root anda di /var/www/html anda dengan peritnah dibawah ini

$sudo chown -R anio:www-data /var/www/html
kemudian restart apache kita dengan menggunakan perintah dibawah ini

$sudo service apache2 restart
kemudian kita periksa atau kita chek dengan mengunakan perintah dibawah seperti dengan gambar dibawah ini juga

$ls -lah /var/www/
mari kita coba untuk user aji dapat mengakses /var/www/html tanpa harus menggunakan root sudo ataupun mode root, kita berpindah directory ke /var/www/html dengan perintah

$cd /var/www/html
kemudian kita chek isi nya dengan mengukan perintah $ls
kita bisa membuat folder atau file di dalam nya tanpa menggunakan root atau sudo

$mkdir project
$ls

kemudian kita tambahkan sebuah file dengan beberapa baris kode program kita persingkat saja dengan menggunakan echo
$echo "<?php echo 'hello world'; ?>" > index.php
kemudian kita panggil melalui web browser dengan mengakses http://localhost/project/

10. Setelah anda menginstall apache2.4 dan php7.1 selanjutnya kita akan menginstall MariaDB sebagai Database Server, langsung saja kita ke terminal kemudian kita install dengan perintah dibawah ini seperti gambar dibawah ini
$sudo apt-get install mariadb-server mariadb-client
setelah berhasil terinstall, kita harus men-set root password untuk root password agar mariadb dapat kita gunakan user root dengan full priviliges dengan perintah dibawah ini

$sudo mysql_secure_installation
$ sudo mysql_secure_installation

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): <- Tekan 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] <- Tekan Enter
New password: <- Masukan Password Baru
Re-enter new password: <- Masukan Password Baru Lagi
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] <- Tekan 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] <- Tekan 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] <- Tekan 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] <- Tekan Enter
... Success!

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



walaupun kita sudah men-set root password kita tetap tidak bisa login ke mariadb dengan menggunakan user biasa atau tanpa root , masuk ke mariadb dapat menggunakan perintah dibawah ini

$mysql -u root -p maka jika anda tidak bisa login menggunakan user biasa anda harus menggunakan sudo atau root dengan perintah

$sudo mysql -u root -p
agar user biasa dapat menggunakan mariadb tanpa harus masuk ke mode root atau sudo anda dapat memasukan beberapa perintah-perintah query dibawah ini seperti gambar dibawah ini

MariaDB [(none)]> use mysql;
MariaDB [(mysql)]> update user set plugin='' where User='root';
MariaDB [(mysql)]> flush privileges;
MariaDB [(mysql)]> quit;


11. Setelah database server sudah berjalan selanjutnya anda dapat menginstall phpmyadmin ( phpmyadmin adalah software/perangkat lunak berbasiskan php sebagai aplikasi pengelola database melalui web ), anda bisa mencari pengertian lebih lengkapnya di google , langsung saja kita install phpmyadmin dengan perintah dibawah ini

$sudo apt-get install phpmyadmin


                           

jangan lupa tekan enter untuk Y besar, selanjutnya maka akan muncul dialog seperti gambar dibawah ini tekan spasi pada saat ada di pilihan apache lalu setelah itu tekan enter , pastikan di apache2 kita sudah ada tanda bintang*







kemudian akan muncul pertanyaan untuk konfigurasi phpmyadmin agar mempercepat installasi tekan tab pilih no lalu tekan enter.





setelah installasi selesai 100% maka anda dapat membuka phpmyadmin melalui web browser dengan menggunakan alamat ke http://localhost/phpmyadmin , maka akan muncul laman web seperti dibawah ini



anda dapat login menggunakan root dan password root yang tadi anda set pada saat menginstall MariaDB

tampilan setelah login,



E.Kesimpulan
LAMP stack adalah sekelompok perangkat lunak open source yang digunakan untuk server web,database server dan berjalan. akronim berdiri untuk Linux, Apache, MariaDB, dan PHP.


F.Referensi dan Dartar pusaka
https://ajikamaludin.blogspot.co.id/2017/03/menginstall-lamplinux-apache24.html





Wassalamu'alaikum Warahmatullahi
Wabarakatuh 
 وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ




































0 comments:

Post a Comment