How to enable SSL (https protocol) with Xampp in a local PHP project
Daftar Isi:
- Prasyarat
- Buat database MySQL
- Instal PHP
- Pasang Komposer
- Instal Drupal
- Konfigurasikan Nginx
- Uji Instalasi
- Instal Modul dan Tema Drupal
- Perbarui Drupal Core
- Kesimpulan
Drupal adalah salah satu platform CMS open source terkemuka di seluruh dunia. Ini fleksibel, dapat diukur dan dapat digunakan untuk membangun berbagai jenis situs web mulai dari blog pribadi kecil hingga situs perusahaan, politik, dan pemerintah yang besar.
Dalam tutorial ini, kami akan menjelaskan cara menginstal Drupal 8.6 di CentOS 7.
Ada beberapa cara untuk menginstal Drupal. Panduan ini mencakup langkah-langkah yang diperlukan untuk menginstal Drupal menggunakan templat komposer untuk proyek Drupal yang disebut proyek-drupal.
Kami akan menggunakan Nginx sebagai server web, PHP 7.2 terbaru, dan MySQL / MariaDB sebagai server basis data.
Prasyarat
Sebelum Anda memulai instalasi, pastikan Anda telah memenuhi persyaratan berikut:
- Minta nama domain yang menunjuk ke IP server publik Anda. Kami akan menggunakan
example.com
. Sudah instal Nginx. Punya sertifikat SSL yang dipasang untuk domain Anda. Anda dapat memasang sertifikat Enkripsi SSL Mari gratis dengan mengikuti petunjuk ini. Dibatasi sebagai pengguna dengan hak akses sudo.
Buat database MySQL
Langkah pertama adalah membuat basis data dan akun pengguna baru dan untuk memberikan izin yang sesuai kepada pengguna.
Jika MySQL atau MariaDB sudah diinstal pada server Anda, Anda dapat melewati langkah ini, jika tidak, Anda dapat menginstal paket server MariaDB 5.5 dari repositori default CentOS dengan mengetik:
sudo yum install mariadb-server
Untuk instalasi MariaDB / MySQL baru, disarankan untuk menjalankan perintah
mysql_secure_installation
untuk meningkatkan keamanan server database Anda.
Login ke shell MySQL dengan mengetik perintah berikut dan masukkan kata sandi ketika diminta:
mysql -u root -p
Untuk membuat database bernama
drupal
, pengguna bernama
drupaluser
dan untuk memberikan izin yang diperlukan kepada pengguna menjalankan perintah berikut:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Instal PHP
CentOS 7 dikirimkan dengan versi PHP 5.4, yang sudah usang dan tidak lagi didukung. Versi PHP yang direkomendasikan untuk Drupal adalah PHP 7.2.
Untuk menginstal PHP 7.2 pada CentOS 7 terlebih dahulu kita perlu mengaktifkan repositori EPEL dan Remi:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Setelah repositori diaktifkan untuk menginstal PHP 7.2 dan semua ekstensi PHP yang diperlukan menjalankan perintah berikut:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Kami memasang PHP FPM karena kami akan menggunakan Nginx sebagai server web.
Secara default, PHP FPM akan berjalan sebagai
apache
pengguna pada port 9000. Kami akan mengubah pengguna menjadi
nginx
dan beralih dari soket TCP ke soket Unix. Untuk melakukannya, buka file
/etc/php-fpm.d/www.conf
dan edit garis yang disorot dengan warna kuning:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Pastikan direktori
/var/lib/php
memiliki kepemilikan yang benar menggunakan perintah chown berikut:
sudo chown -R root:nginx /var/lib/php
Terakhir, aktifkan dan mulai layanan PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Pasang Komposer
Komposer adalah manajer dependensi untuk PHP. Kami akan mengunduh template Drupal dan menginstal semua komponen Drupal yang diperlukan dengan komposer.
Perintah berikut akan menginstal komposer secara global dengan mengunduh pemasang Komposer dengan curl dan memindahkan file ke
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifikasi instalasi dengan menjalankan perintah berikut yang akan mencetak versi komposer:
composer --version
Outputnya akan terlihat seperti ini:
Composer version 1.8.4 2019-02-11 10:52:10
Instal Drupal
Sekarang komposer telah diinstal, buat proyek Drupal baru menggunakan template Drupal di dalam direktori
/var/www/my_drupal
:
sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
Perintah di atas akan mengunduh template, mengambil semua paket php yang diperlukan dan menjalankan skrip yang diperlukan untuk mempersiapkan proyek untuk instalasi. Prosesnya mungkin memakan waktu beberapa menit dan jika berhasil, hasil akhir akan terlihat seperti ini:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
Langkah selanjutnya adalah menginstal Drupal menggunakan Drush. Pada perintah di bawah ini, kami meneruskan database MySQL dan informasi pengguna yang kami buat di bagian pertama:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Pemasang akan meminta Anda dengan pesan berikut, cukup tekan enter untuk melanjutkan.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
Setelah instalasi selesai, skrip akan mencetak nama pengguna dan kata sandi administratif. Outputnya akan terlihat seperti berikut:
Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v
Terakhir, atur izin yang benar sehingga server web dapat memiliki akses penuh ke file dan direktori situs:
sudo chown -R nginx: /var/www/my_drupal
Konfigurasikan Nginx
Sekarang, Anda harus sudah menginstal Nginx dengan sertifikat SSL di sistem Anda, jika tidak memeriksa prasyarat untuk tutorial ini.
Untuk membuat blok server baru untuk proyek Drupal baru kami, kami akan menggunakan resep Nginx dari situs Nginx resmi.
Buka editor teks Anda dan buat file berikut:
sudo nano /etc/nginx/conf.d/example.com
/etc/nginx/conf.d/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } }
Jangan lupa ganti example.com dengan domain Drupal Anda dan tetapkan jalur yang benar ke file sertifikat SSL. Semua permintaan HTTP akan dialihkan ke HTTPS. Cuplikan yang digunakan dalam konfigurasi ini dibuat dalam panduan ini.
Sebelum memulai kembali layanan Nginx, lakukan tes untuk memastikan bahwa tidak ada kesalahan sintaksis:
sudo nginx -t
Mulai ulang layanan Nginx agar perubahan diterapkan dengan mengetik:
Uji Instalasi
Buka browser Anda, ketikkan domain Anda dan anggap instalasi berhasil, layar yang mirip dengan yang berikut akan muncul:
Anda dapat masuk sebagai admin dan mulai menyesuaikan instalasi Drupal baru Anda.
Instal Modul dan Tema Drupal
Sekarang setelah Anda menginstal proyek Drupal Anda, Anda ingin menginstal beberapa modul dan tema. Modul dan tema Drupal di-host pada repositori komposer khusus, yang dikonfigurasikan oleh proyek-drupal untuk kita di luar kotak.
Untuk menginstal modul atau tema, yang perlu Anda lakukan adalah melakukan
cd
ke direktori proyek dan mengetik
composer require drupal/module_or_theme_name
. Sebagai contoh, jika kita ingin menginstal modul Pathauto, kita perlu menjalankan perintah berikut:
cd /var/www/my_drupal
sudo -u nginx /usr/local/bin/composer require drupal/pathauto
Dengan mendahulukan
sudo -u nginx
kita menjalankan perintah sebagai pengguna
nginx
Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles
Seperti yang dapat Anda lihat dari output di atas komposer juga menginstal semua dependensi paket untuk kami.
Perbarui Drupal Core
Sebelum memutakhirkan selalu merupakan ide yang baik untuk mengambil cadangan file dan database Anda. Anda dapat menggunakan modul Cadangan dan Migrasi atau secara manual mencadangkan basis data dan file Anda.
Untuk mencadangkan file instalasi Anda dapat menggunakan perintah rsync berikut, tentu saja, Anda harus menggunakan jalur yang benar ke direktori instalasi:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Untuk membuat cadangan database kita bisa menggunakan perintah
mysqldump
standar:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
atau
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Sekarang kami telah membuat cadangan, kami dapat melanjutkan dan memperbarui semua file inti Drupal dengan menjalankan perintah berikut:
sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Kesimpulan
Selamat, Anda telah berhasil menginstal Drupal 8 menggunakan komposer dan belajar cara memasang modul dan tema. Anda sekarang dapat mulai menyesuaikan situs Anda. Panduan Pengguna Drupal 8 adalah tempat awal yang baik untuk mempelajari lebih lanjut tentang cara mengelola instalasi Drupal Anda. Juga, jangan lupa untuk mengunjungi proyek template Drupal Composer di Github.
centos drupal mysql mariadb cms nginx composerCara menginstal Drupal menggunakan WAMP pada Windows
Anda dapat menginstal Drupal menggunakan WAMP pada Windows. Tutorial ini akan menunjukkan cara menginstal Drupal di localhost pada Windows 10 / 8.1 / 7.
Bagaimana cara menginstal elasticsearch pada centos 7
Elasticsearch adalah salah satu mesin pencari paling populer yang memberdayakan aplikasi yang memiliki persyaratan pencarian kompleks seperti toko e-commerce besar dan aplikasi analitik. Tutorial ini menjelaskan cara menginstal Elasticsearch pada CentOS 7.
Bagaimana cara menginstal drupal di ubuntu 18.04
Dalam tutorial ini kami akan menunjukkan kepada Anda bagaimana menginstal Drupal 8.6 pada mesin Ubuntu 18.04. Ada beberapa cara untuk menginstal Drupal, tutorial ini mencakup langkah-langkah yang diperlukan untuk menginstal Drupal 8.6 menggunakan Komposer.