Dalam tutorial ini, saya akan menjelaskan cara menginstal LAMP stack dengan WordPress di server Ubuntu 18.04 terbaru kami. LAMP adalah singkatan dari Linux-Apache-MySQL-PHP. Ini adalah sekelompok perangkat lunak gratis yang dapat diinstal bersama untuk membangun server untuk meng-host situs web dan aplikasi web dinamis yang digerakkan oleh basis data. Ini menggunakan Linux sebagai sistem operasi, Apache sebagai server Web, MySQL sebagai sistem manajemen basis data relasional untuk menyimpan data situs dan PHP untuk memproses konten dinamis.
Ada cara mudah alternatif untuk menginstal server LAMP menggunakan alat “tasksel” yang dikembangkan oleh Ubuntu/Debian. Namun dalam tutorial ini, saya akan menginstal setiap paket secara manual.
- Instal Apache
- Mengoptimalkan kinerja server web
- 1. Mengoptimalkan arahan Apache
- 2. Memilih Modul MPM
- 3. Mulai ulang layanan Apache
- Instal MySQL
- Instal PHP
- Instal WordPress
- Buat Database MySQL untuk WordPress
- Mengonfigurasi Host Virtual
- Kesimpulan
- Baca Juga:
Instal Apache
Semua versi terbaru Apache, Mysql dan PHP hadir di repositori server itu sendiri. Jadi kami dapat menggunakan manajer paket kami untuk menginstal semua paket tanpa repositori pihak ketiga. Anda dapat menginstal Apache dengan menjalankan perintah di bawah ini:
#apt-get update #apt install apache2Kita perlu memastikan untuk mengaktifkan dan memulai layanan ini menggunakan perintah systemctl:
#systemctl enable apache2 #systemctl start apache2Kami telah menginstal Apache 2.4.29 versi terbaru di server kami. Selanjutnya kita dapat memverifikasi versi Apache yang terinstal dan mengujinya bekerja dengan mengakses IP server di browser, seperti ini >> //Server-IP/
Mengoptimalkan kinerja server web
Silakan ikuti langkah-langkah ini untuk mengoptimalkan kinerja server web Anda.
1. Mengoptimalkan arahan Apache
Itu selalu penting untuk memastikan kinerja server dengan sumber daya minimal yang tersedia. KeepAlive adalah direktif apache, memungkinkan Apache untuk menggunakan memori sisi server, mengurangi latensi untuk pengguna di situs yang dihosting. Ini menyediakan sesi HTTP berumur panjang yang memungkinkan beberapa permintaan dikirim melalui koneksi TCP yang sama. KeepAlive akan membuat situs web lebih cepat jika host memiliki memori yang cukup untuk mendukungnya. Melengkapi arahan ini datang MaxKeepAliveRequests dan KeepAliveTimeout.
Pengaturan MaxKeepAliveRequests mengontrol jumlah maksimum permintaan selama koneksi persisten. 50 adalah jumlah yang konservatif; kita dapat mengatur angka ini lebih tinggi tergantung pada lalu lintas web kita. KeepAliveTimeout mengontrol berapa lama server menunggu permintaan baru dari klien yang sudah terhubung, menyetel opsi ini ke 5 akan menghindari pemborosan RAM. Semakin tinggi nilainya, semakin besar peluang untuk menyebabkan masalah kinerja di server yang banyak dimuat. Semakin tinggi batas waktu, semakin banyak proses server akan tetap sibuk menunggu koneksi dengan klien yang menganggur.
Dengan mempertimbangkan arahan ini, saya telah mengoptimalkan file konfigurasi Apache default saya yang terletak di /etc/apache2/apache.conf dengan nilai-nilai ini untuk meningkatkan kinerja server web saya (Anda perlu menyetel berdasarkan kebutuhan Anda).
KeepAlive On MaxKeepAliveRequests 50 KeepAliveTimeout 52. Memilih Modul MPM
Apache 2 memperkenalkan Multi-Processing Modules atau MPM. Prefork, Worker, dan Event adalah tiga MPM yang direkomendasikan yang tersedia. Secara default, Apache memilih MPM prefork. Karena tumpukan LAMP membutuhkan PHP, mungkin yang terbaik adalah tetap menggunakan default. Anda dapat menentukan status MPM saat ini dengan menjalankan perintah berikut pada baris perintah.
Catatan: Anda perlu mengubah nilai ini berdasarkan kinerja server dan permintaan server web
# apache2 -V |grep -i 'version|mpm' Server version: Apache/2.4.29 (Ubuntu) Server MPM: preforkBuka file mpm_prefork.conf yang terletak di /etc/apache2/mods-available dan edit konfigurasinya.
# cat /etc/apache2/mods-available/mpm_prefork.conf # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxRequestWorkers: maximum number of server processes allowed to start # MaxConnectionsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module> StartServers 4 MinSpareServers 3 MaxSpareServers 40 MaxRequestWorkers 200 MaxConnectionsPerChild 10000 </IfModule>PS: Anda bahkan dapat menggunakan perintah ini untuk beralih di antara MPM sesuai kebutuhan hosting Anda.
#a2dismod mpm_event #a2enmod mpm_prefork3. Mulai ulang layanan Apache
Itu selalu disarankan untuk me-restart layanan Apache setelah membuat perubahan apa pun pada konfigurasinya untuk membuat perubahan itu efektif. Jadi setelah melakukan perubahan di atas, pastikan untuk me-restart layanan Apache.
#systemctl restart apache2Instal MySQL
Kedua, kita perlu menginstal server Database kita. Saya telah menginstal MySQL 5.7.22 di server saya. Anda dapat menginstal versi terbaru yang tersedia dengan menjalankan perintah berikut:
#apt install mysql-server # mysql -V mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapperMulai/aktifkan layanan MySQL dan periksa statusnya.
# systemctl enable mysql Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable mysql # systemctl start mysql # systemctl status mysqlSelanjutnya, Anda perlu menjalankan skrip keamanan yang disertakan dengan instalasi untuk mengamankan server database Anda. Anda dapat menjalankan perintah berikut untuk mengamankan database MySQL dan mengatur kata sandi root:
# mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : Y 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? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL 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? (Press y|Y for Yes, any other key for No) :y Success Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) :y Success All done!Seperti yang Anda lihat, selama fase instalasi aman ini, Anda akan diminta untuk menyiapkan PASSWORD PLUGIN. Untuk alasan keamanan, saya pasti akan merekomendasikan Anda untuk memilih tingkat kata sandi yang kuat untuk melanjutkan. Setelah selesai, Anda dapat mengatur kata sandi administratif Anda. Untuk pertanyaan lainnya, Anda dapat memasukkan y untuk yes yang akan menghapus pengguna anonim dan database pengujian, menonaktifkan login root jarak jauh, dan memuat ulang tabel hak istimewa dengan aturan baru ini dengan segera.
Instal PHP
PHP adalah bahasa scripting kami yang memproses kode untuk menampilkan konten dinamis. Pada dasarnya, ini menjalankan skrip domain, menghubungkan ke database masing-masing dan menyajikan konten ke server web Anda untuk ditampilkan. Untuk menginstal PHP terbaru dan beberapa modul penting, gunakan perintah berikut dari terminal:
#apt install php libapache2-mod-php php-mysql # php -v PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies# systemctl restart apache2Saya telah menginstal PHP 7.2.3 di server saya. Anda dapat mengonfirmasi versinya dari baris perintah menggunakan perintah di atas. Ada banyak modul PHP lain yang tersedia untuk meningkatkan fungsionalitas PHP. Untuk melihat daftar modul dan pustaka modul PHP yang tersedia, pipa hasil dari apt search into lesspager yang memungkinkan Anda menggulir output dari perintah:
#apt search php- | lessAnda dapat menggunakan tombol panah untuk menggulir ke atas dan ke bawah, dan tekan q untuk keluar. Untuk menampilkan informasi lebih lanjut tentang setiap modul, Anda dapat menggunakan perintah apt show package_name. Misalnya, untuk mengetahui lebih banyak tentang penggunaan PHP-bz2Anda dapat mengetik ini seperti di bawah ini:
Bagian deskripsi menjelaskan tujuan modul ini secara singkat. Tergantung pada kebutuhan Anda, Anda dapat memilih paket modul yang diperlukan dan menginstalnya menggunakan perintahapt install.
Anda perlu me-restart Apache untuk membuat perubahan ini efektif. Sekarang Anda dapat membuat halaman info PHP di bawah akar dokumen domain untuk mengonfirmasi versi dan daftar modulnya.
# cd /var/www/html #echo "<?php phpinfo(); ?>" >> info.phpAnda dapat menelusuri URL //ServerIP/info.php untuk mengonfirmasi itu berfungsi.
Kita telah berhasil menyelesaikan instalasi LAMP stack di Ubuntu 18. Sekarang, saatnya untuk mengatur blog WordPress kita. Mari kita instal WordPress dengan langkah-langkah di bawah ini:
Instal WordPress
Anda dapat mengunduh unduhan WordPress terbaru dari mereka Situs Web Resmi dan ekstrak ke root dokumen /var/www/html untuk menginstalnya.
# apt install wget # wget //wordpress.org/latest.tar.gz # tar -xvf latest.tar.gz -C /var/www/html/Buat Database MySQL untuk WordPress
Selanjutnya, kita perlu membuat database dan pengguna untuk instalasi WordPress kita, untuk melakukannya, jalankan perintah berikut:
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 6 Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> create database wpdatabase; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '9RYiZ1fca$#RBrvaFpxwL&TYY'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON wpdatabase.* TO 'wpuser'@'localhost'; Query OK, 0 rows affected (0.00 sec)Kami telah terhubung ke shell MySQL dan membuat database bernama “wpdatabase” pengguna “wpuser” untuk instalasi WordPress. Selanjutnya, Anda perlu membuat wp-config.php dari template wp-config-sample.php dan ubah pengaturan MySQL di file konfigurasi dengan yang kita buat untuk memulai instalasi kita.
#cd /var/www/html/wordpress/ #cp wp-config-sample.php wp-config.phpSaya telah memodifikasi pengaturan file dengan detail database yang saya buat.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wpdatabase'); /** MySQL database username */ define('DB_USER', 'wpuser'); /** MySQL database password */ define('DB_PASSWORD', '9RYiZ1fca$#RBrvaFpxwL&TYY'); /** MySQL hostname */ define('DB_HOST', 'localhost');Mengonfigurasi Host Virtual
Kita dapat mengatur virtual host untuk situs WordPress kita seperti di bawah ini. Secara default, Apache mendengarkan semua alamat IP yang tersedia untuknya. Untuk semua langkah di bawah, ganti example.com dengan nama domain Anda. Saya menggantinya dengan nama domain saya mywordpressblog.com.
1. Buat salinan file konfigurasi Apache default untuk situs Anda:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mywordpressblog.com.conf2. Edit file konfigurasi mywordpressblog.com.conf baru dengan menghapus komentar ServerName dan mengganti example.com dengan IP situs Anda atau Fully Qualified Domain Name (FQDN). Dalam kasus saya, saya telah menggantinya dengan www.wordpressblog.com. Masukkan path root dokumen dan direktori log seperti yang ditunjukkan di bawah ini, dan tambahkan blok Direktori sebelum seperti di bawah ini:
3. Buat direktori yang dirujuk dalam file konfigurasi:
# mkdir -p /var/www/html/mywordpressblog.com/ # touch /var/www/html/mywordpressblog.com/access.log # touch /var/www/html/mywordpressblog.com/error.log4. Tautkan file host virtual Anda dari direktori yang tersedia situs ke direktori yang mendukung situs dan nonaktifkan host virtual default untuk meminimalkan risiko keamanan:
# a2ensite mywordpressblog.com.conf # a2dissite 000-default.conf5. Muat ulang Apache setelah melakukan perubahan ini.
# systemctl reload apache2Sekarang Anda dapat menelusuri URL berikut >> //mywordpressblog.com/ untuk menyelesaikan instalasi kami.
Anda dapat mengatur kredensial Admin dan judul Situs Anda untuk menyelesaikan tahap penginstalan. Akhirnya, Anda dapat mengakses area admin Anda dengan menelusuri URL //mywordpressblog.com/wp-login.php kredensial yang dibuat.
Itu saja! Anda telah berhasil menginstal WordPress di server Ubuntu 18.04 Anda. Sekarang Anda dapat melanjutkan dan menyesuaikan Blog WordPress Anda sesuai kebutuhan Anda.
Kesimpulan
Dalam tutorial ini kami bersandar untuk membangun tumpukan LAMP Anda dan menginstal blog WordPress (install wp-cli) di atasnya menggunakan Ubuntu 18.04. Saya harap Anda menikmati membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah ini.