Menginstall LAMP ( Linux, Apache2.4, MariaDB10, PHP 7.1) Server di Linux Mint 18.2 / Ubuntu 16.04x Untuk belajar PHP - Web Development

Assalammualaikum Wr.Wb


Hai....bertemu lagi bersama saya angga nur cahya pramudya", kali ini saya akan bahas tentang bagaimana cara menginstall LAMP(server).....apa itu LAMP SERVER?, BAGAIMANA CARA MENGINSTALL LAMP SERVER?..... mari kita bahas langsung!!! :-)

A. Pendahuluan
  • 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).


  • Latar Belakang
  • Maksud dan Tujuan
Dapat menginstall lamp server sampai tuntas
  • Hasil yang diharapkan
B. Alat dan Bahan
  • Koneksi Internet
  • Web Browser
C. Durasi Waktu
  • Kurang Lebih 2jam
D. Proses dan tahapan
  • buka terminal dengan menekan tombol ctrl + alt + t  
  • pastikan, sebelum install anda sudah online (karena penginstalan ini secara online).....setelah terkoneksi dengan internet...karena saya akan instll php  versi php7.1 maka sebelumnnya saya menambahkan repositori melalui ppa...dengan menggunakan perintah sudo add-apt-repository ppa:ondrej/php
 
  • setelah menambahkan repositori, lakukan perintah apt-get update untuk mengupdate linux
  • setelah ter-update, anda harus mengupgrade linux lagi menggunakan perintah sudo apt-get dist-upgrade

  • klik enter untuk memilih y, dan tunggu sampai selesai

 
  • setelah upgrade selesai.....masukkan perintah sudo apt-get install apache2

  
  •  tekan ENTER untuk memilih Y besar, dan tunggu proses instalasi  


  • jika proses instalasi apache 2 telah selesai, silakan buka browser anda (apa saja), namun disini saya menguunakan Mozilla Firefox...dan silakan ketik http://localhost pada kolom search, dan jika yang muncul seperti dibawah ini, maka web server anda berjalan dengan baik.
  • jika proses instalasi apache 2 telah berjalan lancar, silakan anda dapat melanjutkan ke installasi php7.1, dengan perintah 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 .....dan klik ENTER untuk memilih Y besar
  •  setelah proses installasi selesai, kita cek, apakah php sudah berjalan di webserver (apache2) atau belum dengan menggunakan uji coba yaitu, degan menggunakan phpinfo(); , buat file yang sama dengan nama phpinfo.php di directory /var/www/html/(document-root apache default) ...disini saya menggunakan text editor nano, karena text editor ini hampir ada di semua OS LINUX. masukkan perintah sudo nano /var/www/html/phpinfo.php
  • klik ENTER, maka akan mucul seperti ini..... dan ketikkan text berikut ini : <?php phpinfo(); ?> , kemudian sava dan close nano(ctrl+x, y, ENTER)
  • Kemudian buka browser anda, dan ketikkan http://localhost/phpinfo.php
  • silakan cek php yang berjalan di mode cli atai php-cli dengan perintah diterminal yaitu dengan mengetikkan php -v
  •  install paket php7.1-cli melalui terminal dengan perintah sudo apt-get install php7.1-cli
  • kita harus menginstal cli karena untuk menjalankan packet manager di php yaitu composer, jadi, kita harus menginstall php-cli harus menginstall php-cli.
setelah menginstall apache2 dan php7.1 kita tidak akan menginstall phpmyadmin atau mariadb dahulu karena ada beberapa konfigurasi tambahan untuk web development yang harus kita konfigurasi seperti mengaktifkan mod_rewrite, mengubah php.ini ke mode development, dan mengubah user yang menjalankan apache2
  • baik, langsung saja, yang pertama kita mengaktifkan mod_rewrite, untuk men-enable mod_rewrite silakan masukan perintah berikut :  
         a2enmod rewrite 

 

  • jika kalian 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 nano /etc/apache2/sites-available/000-default.conf

  •  lalu tambahkan beberapa baris konfigurasi mod_rewrite seperti gambar dibawah ini
  
<Directory /var/www/html>
        Options Indexes FollowSymlinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

  • menjadi seperti ini:
  •  dan kemudian save.

  • kemudian ketikkan :
 sudo service apache2 restart

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


 jika sudah ada mod_rewritenya. maka mod_rewrite sudah berhasil berjalan di apache kita.

  • buka kembali file phpinfo.php kita dengan perintah seperti berikut:
sudo nano /var/www/html/phpinfo.php


  •  hilangkan satu tanda kurung " ( " pada baris kode program kita seperti berikut:
  • kemudian silakan save, dan close.
  • buka phpinfo kita di http://localhost/phpinfo.php kemudian 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.

  •  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  berhasil mem-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. kita dapat me-restart webserver kita atau apache kita dengan perintah:
sudo service apache2 restart

  •  kemudian setelah kita restart, jika kita membuka lagi phpinfo.php dan mereload nya di web browser maka akan tampil erronya seperti gambar dibawah ini:
  • kemudian kita pulihkan file phpinfo.php nya ke semula dan kemudian kita save:
pulihkan dengan perintah berikut ini :
sudo nano /var/www/html/phpinfo.php

  •  dan kembalikan tanda kurung pada phpinfo.php kita menjadi seperti berikut:


  • kemudian save.

  • kemudian ketikkan pada browser anda http://localhost/phpinfo.php .maka php info akan berjalan normal kembali

Setelah kita mengubah php.ini, kita akan mengubah mode user yang menjalankan apache2. sebelum kita mengkonfigurasi atau mengubah mode user yang menjalankan apache2. 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 username atau nama user nya kita pakai seperti saya.

menggunakan user angga-nur @ pada mesin angga-nur di directory ~ sebagai user biasa $.
 atau perintah w, untuk mengetahui nama user yang saya gunakan, kita bisa simpulkan bahwa saya menggunakan user angga-nur
 
  • pada web server yang akan saya jalankan kali ini. saya akan ubah mode user yang menjalankan ke mode user -> angga-nur , dengan group default yaitu -> www-data , karena aji tidak termasuk dalam group www-data seperti gambar dibawah ini dengan perintah
id angga-nur

  • maka pertama kita harus memasukan user tersebut ke grub www-data dengan perintah dibawah ini ( sesuaikan dengan  user anda).
sudo usermod -a -G www-data angga-nur

  •  setelah anda memasukan perintah diatas. jika anda check maka anda sudah bisa menemukan dengan menggunakan perintah id angga-nur user angga-nur sudah tegabung dalam group www-data.
  • langsung saja jika user angga-nur 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 nano /etc/apache2/envvars
 
 
dari yang semulanya pada APACHE_RUN_USER dan APACHE_RUN_GROUP terisi www-data dan www-data seperti gambar dibawah ini:


  • ubah menjadi seperti gambar dibawah ini dengan

export APACHE_RUN_USER=angga-nur #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 angga-nur:www-data /var/www/html
 
  •  kemudian restart apache kita dengan menggunakan perintah dibawah ini
sudo service apache2 restart
  •  kemudian kita periksa atau kita cek dengan mengunakan perintah dibawah seperti dengan gambar dibawah ini: 
ls -lah /var/www/
  • coba untuk user angga-nur 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
  •  lalu, cek isi nya dengan menggukan perintah (terserah dicek atau tidak, kalau saya sih tidak):
ls
  • buat folder atau file di dalam directory /var/www/html tanpa menggunakan root atau sudo, dengan perintah berikut ini :
mkdir project
  • lalu cek, untuk memastikan apakah folder telah dibuat atau belum dengan perintah seperti berikut ini :
ls


  • kemudian, masuk ke folder yang anda buat dengan perintah sebagai berikut:
cd project

  • lalu, tambahkan sebuah file dengan beberapa baris kode program kita. untuk mempersingkat, gunakan echo, seperti perintah berikut ini :
echo "<?php echo 'hello world'; ?>" > index.php
  •  kemudian panggil melalui web browser anda dengan mengakses http://localhost/project/

  • Setelah kita menginstall apache2.4 dan php7.1. selanjutnya kita akan menginstall MariaDB sebagai Database Servernya. baik, langsung saja kita ke terminal/shell kemudian kita install dengan perintah seperti berikut ini :
sudo apt-get install mariadb-server mariadb-client
  •  tekan enter untuk memilih Y besar dan tunggu installasinya sampai selesai

  • setelah MariaDB terinstall, kita set root password untuk root password, agar mariadb dapat kita gunakan user root dengan full priviliges dengan perintah dibawah ini :
sudo mysql_secure_installation

  • tekan ENTER


new password => masukkan password untuk MariaDB anda
Re-enter new password => ulangi password MariaDB anda 

  • tekan ENTER

  • tekan ENTER, tunggu sampai selesai

  • meskipun kita sudah 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

  • jika anda tidak bisa login menggunakan user biasa anda harus menggunakan sudo atau root dengan perintah :
sudo mysql -u root -p 
  • supaya 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;

  • Setelah database server sudah berjalan. selanjutnya kita 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

  • 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 :

  • LAMP Server telah berhasil di-install....enjoy :v 

E. Hasil yang didapatkan
  • lamp server telah berhasil terinstall
F. Temuan Permasalahan
  • Kesalahan sedikit saja saat penginstalan dapat berakibat fatal saat kita menggunakan lamp server tersebut
G. Kesimpulan
  • Lamp server telah di-install
H. Referensi 
  • AJIBLOG