Berikut adalah ringkasan singkat tentang PHP, MySQL, Apache, dan phpMyAdmin:
1. PHP (Hypertext Preprocessor):
- PHP adalah bahasa pemrograman server-side yang digunakan terutama untuk mengembangkan situs web dinamis dan aplikasi web.
- PHP digunakan untuk menghasilkan konten web secara dinamis, seperti halaman HTML, formulir, dan banyak lagi.
- Untuk menjalankan PHP, Anda memerlukan web server seperti Apache atau Nginx, serta pengaturan PHP di server tersebut.
2. MySQL:
- MySQL adalah sistem manajemen basis data (DBMS) yang sangat populer yang menggunakan bahasa SQL (Structured Query Language) untuk mengelola basis data.
- MySQL sering digunakan bersama dengan PHP untuk mengembangkan aplikasi web dinamis yang menyimpan dan mengelola data.
3. Apache:
- Apache HTTP Server (biasa disebut Apache) adalah server web yang paling banyak digunakan di dunia. Ini merupakan perangkat lunak open-source yang dapat diunduh dan digunakan secara gratis.
- Apache digunakan untuk mengirimkan halaman web kepada pengguna saat mereka mengakses situs web yang di-hosting di server.
4. phpMyAdmin:
- phpMyAdmin adalah aplikasi web open-source yang menyediakan antarmuka grafis untuk mengelola dan mengelola basis data MySQL.
- Dengan phpMyAdmin, pengguna dapat membuat, menghapus, dan mengedit basis data, tabel, dan query SQL tanpa perlu menulis kode SQL secara manual.
- Jadi, secara ringkas, PHP digunakan untuk mengembangkan aplikasi web dinamis, MySQL digunakan untuk menyimpan dan mengelola data, Apache digunakan sebagai server web untuk mengirimkan konten web, dan phpMyAdmin adalah antarmuka grafis untuk mengelola basis data MySQL. Kombinasi ini sangat umum digunakan dalam pengembangan web.
Install PHP, MySQL, Apache, dan phpMyAdmin di Debian Linux.
Install Apache dan PHP.
1. Login ke dalam Sistem Operasi Debian menggunakan SSH sebagai root.
su
apt install apache2 libapache2-mod-security2 php php-fpm php8.2-dev imagemagick php-imagick php-mbstring php-yaml php-bcmath php-bz2 php-snmp php-mysql php-zip php-curl php-gmp php-intl php-gd php-ldap php-soap php-tidy redis memcached php-redis php-memcached
apt install autoconf make libtool-bin freeradius freeradius-mysql freeradius-utils brotli rrdtool graphviz git ccze
apt install php-shmop php-imap php-apcu php-dba php-enchant php-embed php-pspell doxygen python3-venv libaugeas0 python3-certbot-apache
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev
2. Disable module php8.2.
a2dismod php8.2
3. Disable module mpm_prefork.
a2dismod mpm_prefork
4. Enable module mpm_event.
a2enmod mpm_event
5. Enable config php8.2-fpm.
a2enconf php8.2-fpm
6. Enable module proxy dan proxy_fcgi.
a2enmod proxy proxy_fcgi
7. Enable module http2.
a2enmod http2
8. Enable module rewrite.
a2enmod rewrite
9. Enable module brotli, headers, socache_memcache, socache_redis, dan socache_shmcb.
a2enmod brotli headers socache_memcache socache_redis socache_shmcb
10. Enable module security2.
a2enmod security2
mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
nano /etc/modsecurity/modsecurity.conf
Rubah nilai yang terdapat pada file modsecurity.conf.
SecRuleEngine DetectionOnly
SecStatusEngine On
SecStatusEngine On
11. Restart apache.
systemctl restart apache2
Konfigurasi PHP.
nano /etc/php/8.2/fpm/php.ini
1. Rubah nilai yang ada di file /etc/php/8.2/fpm/php.ini menjadi seperti berikut:
max_execution_time = 120
memory_limit = 512M
upload_max_filesize = 2000M
post_max_size = 2000M
max_input_vars = 5000
memory_limit = 512M
upload_max_filesize = 2000M
post_max_size = 2000M
max_input_vars = 5000
2. Install Module PCNTL.
cd /home/lynix
wget https://www.php.net/distributions/php-8.2.17.tar.gz
tar -zxvf php-8.2.17.tar.gz
cd php-8.2.17/ext/pcntl/
phpize
./configure
make
cp /home/lynix/php-8.2.17/ext/pcntl/modules/pcntl.so /usr/lib/php/20220829/
nano /etc/php/8.2/fpm/php.ini
Tambahkan nilai berikut ini:
extension=pcntl
3. Install Module brotli.
cd /home/lynix
git clone --recursive --depth=1 https://github.com/kjdev/php-ext-brotli.git
cd php-ext-brotli
phpize
./configure --with-php-config=/usr/bin/php-config
make
cp /home/lynix/php-ext-brotli/modules/brotli.so /usr/lib/php/20220829/
nano /etc/php/8.2/fpm/php.ini
Tambahkan nilai berikut ini:
extension=brotli
4. Restart php-fpm.
systemctl restart php8.2-fpm.service
5. Buat file info.php di /var/www/html.
nano /var/www/html/info.php
Copy paste text berikut kedalam editor nano.
<?php
phpinfo();
?>
phpinfo();
?>
6. Test php dengan memanggil file info.php menggunakan browser. Dalam artikel ini 192.168.1.11/info.php.
Install MySQL.
1. Masih di dalam terminal, dan sedang login menggunakan super user (root).
apt install mariadb-server
2. Set Root Password untuk MySQL.
mysql_secure_installation
3. Edit file konfigurasi MySQL.
nano /etc/mysql/my.cnf
4. Copy paste text berikut kedalam editor nano.
[mysqld]
max_heap_table_size=256M
tmp_table_size=512M
log_error = /var/log/mysql/error.log
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
innodb_buffer_pool_size = 1G
innodb_doublewrite=0
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
max_heap_table_size=256M
tmp_table_size=512M
log_error = /var/log/mysql/error.log
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
innodb_buffer_pool_size = 1G
innodb_doublewrite=0
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
5. Buat directory mysql di /var/log.
mkdir /var/log/mysql
6. Rubah kepemilikan directory /var/log/mysql.
chown mysql:mysql /var/log/mysql
7. Restart mysql.
systemctl restart mysql
Install phpMyAdmin.
1. Masih di dalam terminal, dan sedang login menggunakan super user (root).
cd /var/www/html/
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
tar -zxvf phpMyAdmin-5.2.1-all-languages.tar.gz
mv phpMyAdmin-5.2.1-all-languages phpmyadmin
rm phpMyAdmin-5.2.1-all-languages.tar.gz
2. Rubah kepemilikan directory /var/www/html/phpmyadmin.
chown -R www-data:www-data /var/www/html/phpmyadmin
cd phpmyadmin
mv config.sample.inc.php config.inc.php
nano config.inc.php
3. Rubah nilai blowfish_secret.
$cfg['blowfish_secret'] = 'WcDvwTF&~+#\K6tfkG001%Q`bom`*.q)';
4. Test phpMyAdmin dengan menggunakan browser. Dalam artikel ini 192.168.1.11/phpmyadmin.
5. Login menggunakan user root MySQL.
Install PHP, MySQL, Apache, phpMyAdmin di Debian Linux - Lynix
April 11, 2024
April 11, 2024