GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11

Drupal adalah sistem manajemen konten sumber terbuka dan gratis berdasarkan tumpukan LAMP. Drupal memiliki fitur standar hebat yang memungkinkan Anda membuat situs web dan blog yang kuat. Muncul dengan banyak tema, plugin, dan widget yang membantu Anda membuat situs web tanpa pengetahuan pemrograman. Ini menyediakan banyak fitur seperti dukungan multi-situs, dukungan multi-bahasa, sistem komentar, umpan RSS, pendaftaran pengguna, dan banyak lagi.

Dalam posting ini, kami akan menunjukkan cara menginstal Drupal CMS dengan Apache dan Let's Encrypt SSL di Debian 11.

Prasyarat

  • Server yang menjalankan Debian 11.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Instal LAMP Stack

Drupal didasarkan pada tumpukan LAMP. Jadi LAMP stack harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc -y

Setelah LAMP stack terinstal, edit file php.ini dan ubah beberapa pengaturan default:

nano /etc/php/7.4/apache2/php.ini

Ubah baris berikut:

memory_limit = 256M
upload_max_filesize = 32M
max_execution_time = 300
date.timezone = Asia/Kolkata

Simpan dan tutup file setelah Anda selesai.

Buat Database Drupal

Drupal menggunakan MariaDB sebagai backend database. Jadi, Anda perlu membuat database dan pengguna untuk Drupal.

Pertama, login ke MariaDB dengan perintah berikut:

mysql

Setelah Anda masuk, buat database dan pengguna menggunakan perintah berikut:

MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";

Selanjutnya, berikan semua hak istimewa ke database Drupal menggunakan perintah berikut:

MariaDB [(none)]> GRANT ALL ON drupaldb.* TO 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";

Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Unduh Drupal

Pertama, buka situs web Drupal, pilih versi terbaru Drupal dan unduh dengan perintah berikut:

wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Setelah Drupal diunduh, ekstrak file yang diunduh dengan perintah berikut:

tar -xvf drupal.tar.gz

Selanjutnya, pindahkan direktori yang diekstrak ke direktori root default Apache:

mv drupal-* /var/www/html/drupal

Selanjutnya, ubah kepemilikan dan izin direktori Drupal menggunakan perintah berikut:

chown -R www-data:www-data /var/www/html/drupal/
chmod -R 755 /var/www/html/drupal/

Buat Host Virtual Apache untuk Drupal

Selanjutnya, Anda perlu membuat file konfigurasi virtual host Apache untuk meng-host Drupal. Anda dapat membuatnya menggunakan perintah berikut:

nano /etc/apache2/sites-available/drupal.conf

Tambahkan baris berikut:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/drupal/
     ServerName  drupal.example.com  

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/html/drupal/>
            Options FollowSymlinks
            AllowOverride All
            Require all granted
     </Directory>

     <Directory /var/www/html/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>
</VirtualHost>

Simpan dan tutup file kemudian aktifkan virtual host Drupal dan modul Apache rewrite dengan perintah berikut:

a2ensite drupal.conf
a2enmod rewrite

Selanjutnya, restart layanan Apache untuk menerapkan perubahan:

systemctl restart apache2

Untuk memeriksa status Apache, jalankan perintah berikut:

systemctl status apache2

Anda akan mendapatkan output berikut:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-09-18 14:59:40 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 19698 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 19703 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 15.3M
        CPU: 78ms
     CGroup: /system.slice/apache2.service
             ??19703 /usr/sbin/apache2 -k start
             ??19704 /usr/sbin/apache2 -k start
             ??19705 /usr/sbin/apache2 -k start
             ??19706 /usr/sbin/apache2 -k start
             ??19707 /usr/sbin/apache2 -k start
             ??19708 /usr/sbin/apache2 -k start

Pada titik ini, server web Apache dikonfigurasi untuk melayani Drupal. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Akses Situs Web Drupal

Sekarang, buka browser web Anda dan akses Drupal menggunakan URL http://drupal.example.com . Anda akan diarahkan ke halaman berikut:

Pilih bahasa Inggris dan klik Simpan dan Lanjutkan tombol, Anda akan melihat gambar berikut:

Pilih Profil Instalasi dan klik Simpan dan Lanjutkan tombol. Anda akan melihat halaman berikut:

Di halaman Konfigurasi Basis Data, berikan semua detail basis data yang diperlukan seperti nama basis data, nama pengguna basis data, dan kata sandi, host basis data, lalu klik Simpan dan Lanjutkan tombol, Anda akan melihat gambar berikut:

Di halaman Konfigurasi Situs Drupal, berikan nama situs, nama pengguna dan kata sandi admin Anda lalu klik tombol Simpan dan Lanjutkan tombol untuk mulai menginstal Drupal. Setelah Drupal diinstal, Anda akan melihat dasbor Drupal pada gambar berikut:

Aktifkan Dukungan Let's Encrypt SSL di Situs Drupal

Itu selalu merupakan ide yang baik untuk mengamankan situs web Anda dengan Let's Encrypt SSL. Pertama, Anda perlu menginstal klien Certbot untuk menginstal dan mengelola SSL. Secara default, paket Certbot disertakan dalam repositori default Debian 11 sehingga Anda dapat menginstalnya dengan perintah berikut:

apt-get install python3-certbot-apache -y

Setelah Certbot terinstal, jalankan perintah berikut untuk mengamankan situs web Anda dengan Let's Encrypt SSL:

certbot --apache -d drupal.example.com

Anda akan diminta untuk memberikan email Anda dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for drupal.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/drupal-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/drupal-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/drupal-le-ssl.conf

Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ketik 2 dan tekan Enter untuk menginstal Let's Encrypt SSL untuk situs web Anda:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/drupal.conf to ssl vhost in /etc/apache2/sites-available/drupal-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://drupal.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=drupal.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/drupal.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/drupal.example.com/privkey.pem
   Your cert will expire on 2021-04-20. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Kesimpulan

Itu saja untuk saat ini. Anda telah berhasil menginstal Drupal dengan Let's Encrypt SSL di Debian 11. Sekarang Anda dapat mulai membuat blog atau situs web Anda sendiri tanpa pengetahuan pemrograman. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Debian
  1. Cara Menginstal dan Mengkonfigurasi Drupal dengan Apache di Debian 9

  2. Cara Menginstal Tiki Wiki dengan Apache dan Mengenkripsi SSL di Debian 10

  3. Cara Install Automad CMS dengan Apache dan Lets Encrypt di Debian 10

  1. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  2. Cara Menginstal WonderCMS dengan Apache dan Mengenkripsi SSL di CentOS 8

  3. Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

  1. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  2. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi SSL di CentOS 8

  3. Cara Menginstal PrestaShop dengan Apache dan Mengenkripsi SSL di CentOS 8