Sunday, February 18, 2024

LAMP, instal Apache, MariaDB dan PHP di Ubuntu 20.04

 https://ubunlog.com/id/lampu-instal-apache-mariadb-php-ubuntu-20-04/


Pada artikel berikut kita akan melihat bagaimana kita dapat menginstal LAMP di Ubuntu 20.04 LTS. Ini adalah seperangkat alat perangkat lunak yang dibundel. LAMP adalah singkatan dari Linux, Apache, MariaDB / MySQL dan PHP, semuanya open source dan gratis untuk digunakan. Ini adalah tumpukan perangkat lunak paling umum yang mendukung situs web dinamis dan aplikasi web.

Linux adalah sistem operasi, Apache adalah server web, MariaDB / MySQL adalah server basis data, dan PHP adalah bahasa skrip sisi server yang bertanggung jawab untuk menghasilkan halaman web dinamis. Untuk mengikuti baris berikut, perlu memiliki sistem operasi Ubuntu 20.04 berjalan di mesin lokal atau di server jarak jauh.

Instal LAMP di Ubuntu 20.04

Sebelum memasang tumpukan LAMP, ada baiknya perbarui repositori dan paket perangkat lunak yang tersedia. Kami akan melakukan ini dengan menjalankan di terminal (Ctrl + Alt + T):

1
sudo apt update; sudo apt upgrade

Instal server web Apache

Ketik perintah berikut di terminal (Ctrl + Alt + T) ke instal server web Apache:

Instalasi Apache di LAMP

1
sudo apt install -y apache2 apache2-utils

Setelah diinstal, Apache harus mulai secara otomatis. Kami dapat memverifikasi ini dengan menulis:

status apache2

1
systemctl status apache2

Kita juga bisa periksa versi Apache:

Versi Apache dipasang di LAMP

1
apache2 -v

sekarang ketik alamat IP publik dari server Ubuntu 20.04 di bilah alamat browser. Anda akan melihat halaman web awal, yang berarti server web Apache berjalan dengan benar. Jika Anda menginstal LAMP pada mesin Ubuntu 20.04 lokal, ketik 127.0.0.1 atau localhost di bilah alamat Browser.

apache2 berjalan di browser

Jika koneksi ditolak atau tidak selesai, kami mungkin memiliki firewall yang mencegah permintaan masuk ke port TCP 80. Jika Anda menggunakan firewall iptables, Anda harus menjalankan perintah berikut untuk membuka port TCP 80:

1
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Jika Anda menggunakan firewall UFW, jalankan perintah untuk membuka port TCP 80:

1
sudo ufw allow http

Sekarang kita butuh setel www-data (Pengguna Apache) sebagai pemilik root web. Kami akan mencapai ini dengan menulis:

1
sudo chown www-data:www-data /var/www/html/ -R

Instal server database MariaDB

MariaDB adalah pengganti langsung MySQL. Tulis perintah berikut ke memasang MariaDB di Ubuntu 20.04:

instalasi server maridb di LAMP

1
sudo apt install mariadb-server mariadb-client

Setelah terinstal, server MariaDB akan berjalan secara otomatis. Kita akan bisa periksa status Anda dengan perintah:

status mariadb

1
systemctl status mariadb

Jika tidak berjalan, kami akan memulainya dengan menulis:

1
sudo systemctl start mariadb

untuk memungkinkan MariaDB untuk memulai secara otomatis saat boot, kita harus mengeksekusi:

1
sudo systemctl enable mariadb

Periksalah Versi server MariaDB:

versi mariadb dipasang di LAMP

1
mariadb --version

sekarang jalankan skrip keamanan pasca pemasangan:

1
sudo mysql_secure_installation

Saat Anda meminta kami memasukkan kata sandi root MariaDB, pulsa Intro karena kata sandi root belum disetel. Kemudian masukkan kata sandi root Anda untuk server MariaDB.

keamanan mysql_password

Selanjutnya kita bisa menekan Intro untuk menjawab semua pertanyaan yang tersisa. Ini akan menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian.

pertanyaan konfigurasi mysql aman di MariaDB

Default, paket MaraiDB di Ubuntu menggunakan unix_socket untuk mengautentikasi login pengguna.

Instal PHP7.4

Pada saat penulisan, PHP7.4 adalah versi PHP stabil terbaru. Untuk ini kita akan menulis perintah berikut ke instal PHP7.4 dan beberapa modul PHP umum:

instal php 7.4 di LAMP

1
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline

Sekarang kita harus melakukannya aktifkan modul Apache php7.4 dan mulai ulang server web Apache.

aktifkan modul php7.4

1
2
3
sudo a2enmod php7.4
 
sudo systemctl restart apache2

Kita bisa periksa versi PHP dengan perintah:

versi php diinstal di LAMP

1
php --version

Untuk menguji skrip PHP dengan server Apache, kita perlu membuat file info.php di direktori root:

1
sudo vim /var/www/html/info.php

Di dalam file kita akan menempelkan kode PHP berikut:

1
<?php phpinfo(); ?>

Setelah file disimpan, sekarang di bilah alamat browser kita harus menulis ip-address / info.php. Ganti alamat ip dengan IP Anda saat ini. Jika Anda menggunakan mesin lokal, ketik 127.0.0.1 / info.php o localhos / info.php. Ini harus menampilkan informasi PHP.

localhost phpinfo.php

Jalankan PHP-FPM dengan Apache

Kami akan menemukan dua cara untuk menjalankan kode PHP dengan server web Apache. Dengan modul PHP Apache dan dengan PHP-FPM.

Pada langkah di atas, modul Apache PHP7.4 digunakan untuk menangani kode PHP. Ini umumnya baik-baik saja, tetapi dalam beberapa kasus kita harus mengeksekusi kode PHP dengan PHP-FPM. Untuk melakukannya, kita harus menonaktifkan modul Apache PHP7.4:

nonaktifkan Apache php7.4 di LAMP

1
sudo a2dismod php7.4

Sekarang ayo instal PHP-FPM:

instalasi php7.4-fpm di LAMP

1
sudo apt install php7.4-fpm

Kita lanjutkan mengaktifkan modul proxy_fcgi dan setenvif:

aktifkan proxy_fcgi setenvif

1
sudo a2enmod proxy_fcgi setenvif

Langkah selanjutnya adalah aktifkan file konfigurasi /etc/Apache2/conf-available/php7.4-fpm.conf:

perintah aktifkan a2enconf php7.4

1
sudo a2enconf php7.4-fpm

Maka kita harus restart apache:

1
sudo systemctl restart apache2

Sekarang jika Anda menyegarkan halaman info.php di browser, Anda akan menemukannya API server berubah dari Apache 2.0 Handler menjadi FPM / FastCGI, yang berarti server web Apache akan meneruskan permintaan dari PHP ke PHP-FPM.

FPM-FastCGI aktifkan

Untuk menyelesaikan dan untuk keamanan server, kita harus melakukannya hapus file info.php.

Share:

Wednesday, December 6, 2023

Tuesday, October 10, 2023

OJS Server

https://openjournaltheme.com/docs/documentation/what-is-ojs-server-requirement

Minimum Server Requirement :  #

  1. Operating System: Windows / Linux Based
  2. Minimal Disk Space: 500MB
  3. RAM: 500MB
  4. Apache > 2.46  version
  5. Curl installed and available
  6. Mysql 4.1 / MariaDB 10 / PostgreSQL 8.0
  7. PHP 7.3 with PHP package (PHP 8.1 is not recommended – there is some problem with the third-party plugin) :
    • php-xml 
    • php-curl
    • php-mbstring
    • php-mysql (use mysqli as ojs database connection)
    • php-pgsql (optional for Postgre db)
    • php-intl
Share:

Monday, August 21, 2023

install eprints, SSL dan renew SSL

 https://fazar.net/tutorial-lengkap-instalasi-eprints-3-4-pada-ubuntu-20-04/


renew certbot

https://docs.digitalocean.com/support/how-can-i-renew-lets-encrypt-certificates/

https://idnetter.com/cara-auto-renew-sertifikat-ssl-lets-encrypt/

Share:

Tuesday, April 11, 2023

setting SSL di ubuntu

 

Langkah 2, Install SSL di Apache

Diasumsikan server vps kamu sudah terinstall apache. Selanjutnya akses vps kamu secara remote melalui ssh. Gunakan panduan cara menggunakan ssh

1. Aktifkan modul ssl di apache

Untuk mengaktifkan modul SSL, kamu bisa menggunakan command berikut

a2enmod ssl

service apache2 restart

 

  1. Buat folder tempat SSL

Berikutnya kamu perlu membuat sebuah folder, yang berfungsi untuk menaruh certificate SSL domain kamu. Kamu akan buat folder private dibawah direktori /etc/ssl/ gunakan perintah :

mkdir -p /etc/ssl/private

chmod 700  /etc/ssl/private

 

  1. Upload SSL ke server

Selanjutnya upload certificate SSL kamu ke server, kamu bisa menggunakan Filezilla untuk upload file. Dibagian setting host kamu bisa isi seperti ini : 

Keterangan:

Host , diisi alamat ip server vps

Username, diisi username untuk masuk ssh, biasanya root

Password, isikan dengan password user

Port, isikan dengan 22 (Kita akan masuk melalui sftp)

Kemudian klik tombol Quickconnect, jika muncul warning Hostkey, no problem kamu tinggal tekan Ok

Arahkan Remote site ke direktori /etc/ssl/private

Kemudian bagian panel kiri adalah lokal komputer / laptop kamu, pilih semua kemudian drag file SSLnya ke Remote site

 

  1. Setup Virtual Host

Edit file yang bernama default-ssl.conf

sudo vi /etc/apache2/sites-enabled/default-ssl.conf
…

SSLEngine on

SSLCertificateFile /etc/ssl/private/certificate.crt

SSLCertificateKeyFile /etc/ssl/private/private.key

SSLCertificateChainFile /etc/ssl/private/ca-bundle.crt

…

Restart Apache

Lalu restart apache dengan perintah :

service apache2 restart 




https://www.jagoanhosting.com/tutorial/tutorial-vps/cara-install-ssl-di-apache-ubuntu

Share:

Sunday, January 17, 2021

Fatal error: $CFG->dataroot is not writable, moodle

Fatal error: $CFG->dataroot is not writable Today I ran into the same error. After a while i got the idea. On any linux box such as Red Hat, Cent OS, fedora and Co there is a pretty good likelihood that SELinux is enabled and enforced. First of all you should check the directory and file permissions. Being at least accessible and readable to the web server - most often apache. Dirs and files should be owned by apache:apache. The SELinux is quite consequent. I therefore ran into this issue after relabelling the system. In case that after permission setting the web server still does complain about „$CFG->dataroot not writable“ look at the SELinux labels of the dirs and files in $CFG->dataroot. They are displayed with the CLI ls -lZ /full_path_of_dataroot All labels should be apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 4096 1. Dez 14:21 cache The httpd_sys_rw_content shows that the dir or file is writeable. In case this is not given execute sudo chcon -R -t httpd_sys_rw_content_t /full_path_of_dataroot This will change the file context recursively to the type httpd read/write. Reload the webpage.
Share:

Monday, December 21, 2020

rsync otomatis backup linux

 http://lpseacehselatankab.blogspot.com/2017/01/backup-data-server-utama-secara-otomatis.html

Setelah tutorial sebelumnya membahas tentang cara install dan konfigurasi SPSE di centos sebagai server backup, kini saya tuliskan lagi cara backup file hasil upload dan backup database dari server utama ke server backup secara otomatis menggunakan crontab dan rsync. Berikut step – stepnya
Asumsi ip server utama 192.168.0.2 dan ip server backup 192.168.0.3 dengan password root yang sama antara server utama dengan server backup
Langkah pertama kita lakukan backup file hasil upload dengan menggunakan ssh dan rsync

Login ke server utama menggunakan putty lalu generate key untuk ssh

# ssh-keygen   ==> ( ketika ada pertanyaan, cukup di enter saja tanpa mengisikan apapun)

Copykan public key hasil dari ssh-keygen ke server backup

# ssh-copy-id -i .ssh/id_rsa.pub  192.168.0.3

Lakukan sinkronisasi file antara server utama dengan server backup, semisal file tersebut berada di folder /home/file_upload di kedua server.

# rsync -avz -e ssh /home/file_upload/*  root@192.168.0.3:/home/file_upload/
Masukkan perintah rsync tersebut ke dalam crontab agar bisa di eksekusi sesuai yang kita jadwalkan misalnya setiap 10 menit sinkronisasi dijalankan.

# crontab -e

*/10 * * * *  rsync -avz -e ssh /home/file_upload/*  root@192.168.0.3:/home/file_upload/

Langkah kedua, backup database postgresql dengan membuat sebuah file bantuan agar secara otomatis membackup database dan menyimpan hasil backup di folder yang diinginkan dan juga secara otomatis menghapus file hasil backup yang sudah kadaluarsa. semisal kita batasi file backup sampai dengan 7 hari sehingga hanya terdapat 7 file saja. Berikut contoh filenya dengan diberi nama backupdata.sh

# nano /usr/local/bin/backupdata.sh

backupdata
# chmod 755 /usr/local/bin/backupdata.sh

Masukkan perintah menjalankan backupdata kedalam crontab setiap 10 menit dan lakukan sinkronisasi setiap 15 menit

# crontab -e

*/10 * * * *   /usr/local/bin/backupdata.sh
*/15 * * * *  rsync -avz -e ssh /home/backup/*  root@192.168.0.3:/home/backup/

Lalu restart crontab nya

# /etc/init.d/cron restart     ==> versi debian dan turunannya
# /etc/init.d/crond restart  ==> versi redhat dan turunannya

Share: