AJIBLOG

Menulis Blog Adalah Salah Satu Hobi Saya di Waktu Luang dan Sebagai Catatan Eksperimen Tentang Informasi dan Teknologi , Silahkan Share , Subscribe dan Komen Jika Anda Suka Artikel saya ini, anda juga dapat menuliskan masalah yang anda alami pada saat mengikuti artiker diatas pada kolom komentar dibawah ini

Sabtu, 25 Maret 2017

Menginstall LAMP(Linux, Apache2.4, MariaDB10, PHP7.1) Server di Linux Mint 18.1/Ubuntu 16.04.x Untuk Belajar PHP - Web Development


Linux Apache2.4 MariaDB10 PHP7.1


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).

Berikut Langkah-langkah Cara menginstall LAMP Server di Linux Mint 18.1/Ubuntu 16.04 dengan gambar beserta screenshot nya :

1. Seperti biasanya bagi anda pengguna linux buka terminal dengan shortcut (Ctrl + Alt + T), atau dengan membuka terminal melalui menu, seperti gambar dibawah ini saya sudah membuka terminal di desktop saya



2. setelah anda buka terminal (etch... sebelumnya anda sudah terkoneksi ke internet ya...! ), karena saya akan menginstall php7.1 maka sebelumnya saya akan menambahkan repositori melalui ppa untuk php7.1-nya, 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 
kenapa kita harus menggunakan php-cli ini ? jawabanya tentu teman-teman tahu bahwa untuk menjalankan packet manager di php yaitu composer, teman-teman harus menginstall php-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.ini ke mode development, dan mengubah user yang menjalankan apache2, pertama kita akan mengaktifkan mod_rewrite di apache2 terlebih dahulu, apa itu mod_rewrite ? mod_rewite adalah modules apache yang digunakan untuk menulis ulang paket header pada url yang menjadikan url berubah tidak seperti aslinya sederhananya bagi saya seperti itu untuk lebih detail dan lengkapnya anda dapat baca disini( http://httpd.apache.org/docs/current/mod/mod_rewrite.html, https://en.wikipedia.org/wiki/Rewrite_engine, https://wiki.apache.org/httpd/Rewrite, https://id.wikipedia.org/wiki/Apache_HTTP_Server )

ok langsung saja kita mengaktifkan mod_rewrite ini , masukan perintah dibawah di terminal anda untuk men-enable mod_rewrite di apache
$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
jika anda sudah berhasil menemukan maka mod_rewrite sudah berjalan di apache kita

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.php kita dengan perintah seperti diatas tadi atau perintah dibawah ini sesuai dengan gambar
$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 username atau nama user nya kita pakai seperti saya,

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

maka pertama kita harus memasukan user tersebut ke grub www-data dengan perintah dibawah ini ( sesuaikan dengan  )
$sudo usermod -a -G www-data aji
setelah anda memasukan perintah diatas jika anda check maka anda sudah bisa menemukan dengan menggunakan perintah $id aji user aji sudah tegabung dalam group www-data seperti gambar dibawah ini
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
 ubah menjadi seperti gambar dibawah ini dengan

export APACHE_RUN_USER=aji #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 aji: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/
Owner User aji dan Owner Group www-data
 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/
 anda juga bisa menguukan sublime untuk mengedit tanpa harus masuk sebagai root ataupun sudo


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
 jangan lupa tekan enter untuk Y besar dan tunggu installasi sampai selesai
 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


 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
aji@aji ~ $ 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.

Thanks for using MariaDB!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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;

setelah anda memasukan perintah diatas maka anda dapat mencoba lagi untul masuk ke mariadb dengan menggunakan user biasa atau tanpa menggunakan sudo ataupun root


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,


dan selamat anda dapat mulai belajar php atau web development, silahkan komen pada kolom komentar dibawah ini jika anda mengalami masalah ataupun kesulitan

Referensi :
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu
https://www.unixmen.com/how-to-install-lamp-stack-on-ubuntu-16-04/

6 komentar:

  1. gokil lu men 100 bintang buat blog ini. walaupun gua sedikit bingung karena ada human error dari gue sendiri. tapi akhirnya gua bisa bljr & berhasil ngelakuin instruksinya. thanks bro! GOD BLESS YOU ALL THE TIME!

    BalasHapus
  2. Balasan
    1. Silahkan gan , Terima kasih sudah berkunjung silahkan berkunjung kembali gan

      Hapus
  3. Bisa ga mas, pake 2 php sekaligus, yang satu php7, dan satunya php5?
    Ditunggu jawabanya mas

    BalasHapus
    Balasan
    1. bisa mas, artikel sedang di proses untuk di tulis , coba ini dulu aja : https://medium.com/@sbuckpesch/run-multiple-php-version-on-the-same-server-using-php-fpm-and-xdebug-on-ubuntu-16-04-6a84f5b7d7ce

      Hapus

Footer Ads

Like , Comment , Follow Blog Saya ...

Label

LinuxMint/Ubuntu (73) BLC-Telkom (33) Kegiatan (26) Debian (23) Tool (17) Kumpulan Tugas (12) Mikrotik (10) CentOS7 (8) Coding PHP (7) CentOS6 (6) Google (6) IDE (3) IPFire (3) Raspberry PI (3) github (3) NodeJS (2) Virtualisasi (2) Windows (2) GIS (1) Vuejs (1)

Contact us

Nama

Email *

Pesan *