Assalamualaikum Wr.Wb
PENGERTIAN
LAMP stack adalah sekelompok perangkat lunak open source yang digunakan untuk server web, database sever yang berjalan, akronim berdiri untuk Linux, Apache, MariaDB, dan PHP.
LAMP Server (Linux, Apache, MySQL, PHP (atau Perl) adalah salah satu yang paling penting pada server. Anda mungkin pernah mengatur ini, LAMP dengan senang hati melayani web server sampai dinamis, situs web database-driven. Server LAMP ini yang mendasari pondasi Linux itu meliputi rock-solid kehandalan, kamanan, dan dapat diinstal pada semua jenis perangkat keras (dari yang old white-box Anda memiliki multi-CPU, sampai RADI-enabled rak server).
Karena OS sudah terinstal semua, langkah selanjutnya kita harus install Apache, MySQL, dan PHP. Jadi hanya ada tiga langkah agar server LAMP Anda dapat berjalan. Ingat, Anda akan menggunakan baris perintah, sehingga anda di haruskan membuka Terminal ( Shell)( atau, jika Anda menggunakan server GUI- Anda cukup menginstall, log in). Kami akan menginstall sedikit keluar dari urutan ( tidak runtut / dari akronim).
LATAR BELAKANG
SleepingCodings - Instalisasi Lamp dan Web Development di sini, tujuannya agar kita dapat mengatur, membuat, mengubah (Pokoknya Seenaknya), pada Var/www/html, Karena bawaan awal dari linux ialah Web Production maka pada Install Lampp dan Web Develompent ini untuk menginstall Lamp serta merubah Web Production menjadi Web Development
ALAT & BAHAN
1.| 1 unit PC/Laptop
2.| Koneksi Internet
JANGKA WAKTU
Tergantung Koneksi Internet
Berikut Langkah-langkah Cara menginstall LAMP Server di Linux Mint 18.2/Ubuntu 16.04 dengan beberapa screenshoot di bawah ini :
1. Seperti biasanya bagi anda pengguna Linux, terlebih dahulu 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 ( oh iya.... sebelumnya koneksikan laptop dengan internet dulu yak...), karena author akan menginstall php7.1 maka sebelum itu, author akan menambahkan repository melalui ppa untuk php7.1-nya, masukan perintah dibawah ini atau sesuai dengan gambar/screenshoot 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 mengupgrade linux anda dengan perintah di bawah ini.
$sudo apt-get dist-upgrade
tunggu sampai instalasi dist upgrade selesai
5. Setelah upgrade selesai Anda bisa mulai menginstall aplikasi pertama yaitu Apache2.4 yaitu aplikasi yang kita gunakan sebagai aplikasi penyedia layanan http atau web server, masukan perintah dibawah ini untuk menginstall Apache seperti gambar dibawah ini juga
$sudo apt-get dist-upgrade
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 , juka muncul seperti gambar dibawah ini menunjukkan bahwa web server telah berjalan dengan baik "It works!"
6. Jika proses installasi Apache2 sudah berjalan lancar 100% silahkan Anda melanjutkan menginstall php7.1, php merupakan bahasa pemrogaman server side atau bahasa pemrograman yang berjalan hanya pada server atau php-engine, untuk mengistall 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 untuk mengujinya sangat sederhana yaitu menggunakan phpinfo(); atau salah satu function di php yang sudah built-in untuk mengecek php dan komponen komponen lainnya, langsung buat file dengan nama phpinfo.php di directory /var/www/html/(document-root apache default), dan kali ini saya menggunakan text edittor xed bawaan linux mint 18.1, anda dapat menggunakan editor lain seperti gedit, vim, nano, pico, atau sejenis lainnya yang merupakan aplikasi bawaan dari linux mint 18.1, langsung masukkan perintah di bawah 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 menggunakan mode sudo atau root
selanjutnya 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://localhost/phpinfo.php <<<== pemanggilan file sesuai dengan nama file yang kita buat tadi
selain mengecek php yang berjalan di web server atau apache kita, kita juga harus mengecek php yang berjalan di mode cli atau 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-clikenapa kita harus menggunakan php-cli ini ? jawabannya 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, yang gunanya waktu membuat script php, jika salah bisa terlihat kesalahannya, 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_rewrite adalah modules apache yang digunakan untuk menulis ulang paket header pada url yang menjadikan url berubah tidak seperti aslinya sederhananyabagi saya seperti itu untuk lebih detail dan lengkapnya Anda dapa baca di sini
(http://httpd.apache.org/docs/current/mod/mod_rewrite.html
http://en.wikipedia.org/wiki/Rewrite_engine,
http://wiki.apache.org/httpd/Rewrite,
http://id.wikipedia.org/wiki/Apache_HTTP_Server)
ajikamaludin.blogspot.com ).
ok langsung saja kita mengaktifkan mod_rewrite ini, masukkan perintah dibawah tepatnya di terminal Anda untuk men-enable mod_rewrite (mengaktifkannya) 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 masukkan 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 bari konfigurasi mod_rewrite seperti gambar di atas
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<Directory /var/www/html>Options Indexes FollowSymlinks MultiViews
Allow Override 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 di bawah ini
$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 mod_rewritenya maka Anda sudah dapat menjalankan apache kita
8. Berikutnya Ubah konfigurasi php.ini ke versi development, kenapa kita harus mengubah ke versi development?, ok mari kita buat eksperimen sederhana dengan beberapa baris kode php, seperti gambar dibawah ini, kita buka file phpinfo.php kita dengan perintah seperti diatas tadi atau perintah dibawah ini
$sudo xed /var/www/html/phpinfo.php
setelah editor terbuka hilangkan satun tanda kurung "(" pada baris kode program atau bisa ";" intinya hilangkan 1 element yang ada di php kecuali hello world, 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 di bawah ini, error 500 ini menunjukkan salah satu proteksi bahwa php kita tidak ingin menampilkan error nya pada browser atau client tentu hal ini merupakan versi dari Web Production seperti yang teman-teman pakai dan ketahui sekarang, nah.... guys... sebagai web development tentunya... jika terjadi error maka Anda ingin mengetahui letak salah / error nya buka?, maka dari itu Anda harus mengubah versi php.ini ke development dengan cara dibawah ini
untuk mengubah php.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 errornya seperti gambar di bawah ini
dan jika anda pulihkan file phpinfo.php nya ke semula dan setelah itu kamu save akan jadi tampak seperti gambar di bawah ini
9. Setelah Anda mengubah php.ini, selanjutnya kita akan mengubah mode user yang menjalankan apache2 konsep ini hampir mirip seperti konsep server hosting standalone yang menjalankan apache2 atau web servernya menggunakan 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.
menggunakan user abdulhafidgunawan @ pada mesin abdulhafidgunawan di directory ~ sebagai user biasa $
atau perintah $w, untuk mengetahui nama user yang saya gunakan, kita bisa simpulkan bahwa saya menggunakan user abdulhafidgunawan
pada web server yang akan saya jalankan kali ini saya akan ubah mode user yang menjalankan ke mode user => abdulhafidgunawan , dengan group default yaitu => www-data , karena abdulhafidgunawan tidak termasuk dalam group www-data seperti gambar di bawah ini dengan perintah seperti ini
$id abdulhafidgunawan
Tidak ada Group www-data |
$sudo usermod -a -G www-data abdulhafidgunawan
setelah Anda memasukkan perintah diatas jika Anda sudah bisa menemukan dengan menggunakan perintah $id abdulhafidgunawan user abdulhafidgunawan sudah tergabung dalam group www-data seperti gambar dibawah ini
langsung saja jika user abdulhafidgunawan sudah terdaftar maka Anda dapat mengedit 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 di bawah ini dengan
kemudian ubah file owner pada document root Anda /var/www/html Anda dengan perintah dibawah ini
$sudo chown -R abdulhafidgunawan:www-data /var/www/html
kemudian restart apache kita dengan menggunakan perintah dibawah ini
$sudo service apache2 restart
kemudian kita periksa atau kita check dengan menggunakan perintah dibawah seperti gambar dibawah ini
$ls -lah /var/www/
Owner User abdulhafidgunawan dan Owner Group www-data |
mari kita coba untuk user abdulhafidgunawan dapat mengakses /var/www/html tanpa harus menggunakan root sudo atau mode root, kita berpindah ke directory /var/www/html dengan perintah sbg berikut
$cd /var/www/html
kemudian kita check isi nya dengan menggunakan 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 menggunakan sublime untuk mengedit tanpa harus masuk masuk sebagai root ataupun sudo namun saya menggunakan terminal saja :v biar ga ribet guys....
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
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
Dan Selamat membuat project menggunakan php dan web development .
REFERENSI
1. digitalocean
2. unixmen
3. AjiKamaludin
~SEMOGA BERMANFAAT~
No comments:
Post a Comment