install drupal8 | zuhdi.org

Install Drupal 8.7.3

Environment

  • Debian 9.7 x64
  • Apache 2.4.25
  • MySQL 10.1.38-MariaDB
  • PHP 7.3.6

Pre-requisite

Excerpt

Log 2019 / 06

1. Pre

apt-get -y --no-install-recommends install php7.3 php7.3-mysql php7.3-gd \
  php7.3-xml php7.3-mbstring

root@athos:~# apt-get -y --no-install-recommends install php7.3 php7.3-mysql \
>   php7.3-gd php7.3-xml php7.3-mbstring

root@athos:~# mkdir /var/www/drupal_site/

a2dismod mpm_event && a2enmod php7.3 && a2enmod rewrite \
  && systemctl restart apache2

root@athos:~# a2dismod mpm_event && a2enmod php7.3 && a2enmod rewrite \
>   && systemctl restart apache2

cat <<EOF > /etc/apache2/sites-available/drupal_site.conf
<VirtualHost *:80>
  ServerName athos.host
  ServerAlias athos.host
  ServerAdmin webmaster@athos.host
  DocumentRoot /var/www/drupal_site
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory /var/www/drupal_site>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>
EOF

root@athos:~# cat <<EOF > /etc/apache2/sites-available/drupal_site.conf
> <VirtualHost *:80>
>   ServerName athos.host
>   ServerAlias athos.host
>   ServerAdmin webmaster@athos.host
>   DocumentRoot /var/www/drupal_site
>   ErrorLog ${APACHE_LOG_DIR}/error.log
>   CustomLog ${APACHE_LOG_DIR}/access.log combined
> </VirtualHost>
> <Directory /var/www/drupal_site>
>   Options Indexes FollowSymLinks
>   AllowOverride All
>   Require all granted
>   RewriteEngine on
>   RewriteBase /
>   RewriteCond %{REQUEST_FILENAME} !-f
>   RewriteCond %{REQUEST_FILENAME} !-d
>   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
> </Directory>
> EOF

root@athos:~# a2ensite drupal_site.conf
Enabling site drupal_site.
To activate the new configuration, you need to run:
  systemctl reload apache2

root@athos:~# systemctl reload apache2

root@athos:~# apache2ctl -S
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost athos.host (/etc/apache2/sites-enabled/drupal_site.conf:1)
                 alias athos.host
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

2. Configure Database

root@athos:~# mysql -u root -e "CREATE DATABASE drupal_db;"

mysql -u root -e "GRANT ALL PRIVILEGES on drupal_db.* \
  TO 'drupal_user'@'localhost' IDENTIFIED BY 'password';"

root@athos:~# mysql -u root -e "GRANT ALL PRIVILEGES on drupal_db.* \
>   TO 'drupal_user'@'localhost' IDENTIFIED BY 'password';"

root@athos:~# mysql -u root -e "FLUSH PRIVILEGES;"

3. Install Drupal

root@athos:~# wget -q https://ftp.drupal.org/files/projects/drupal-8.7.3.tar.gz

root@athos:~# tar -xf drupal-8.7.3.tar.gz

root@athos:~# mv drupal-8.7.3/* /var/www/drupal_site/

root@athos:~# mkdir /var/www/drupal_site/sites/default/files

root@athos:~# chmod a+w /var/www/drupal_site/sites/default/files

cp /var/www/drupal_site/sites/default/default.settings.php \
  /var/www/drupal_site/sites/default/settings.php

root@athos:~# cp /var/www/drupal_site/sites/default/default.settings.php \
>   /var/www/drupal_site/sites/default/settings.php

root@athos:~# chmod a+w /var/www/drupal_site/sites/default/settings.php

4. Post

chmod go-w /var/www/drupal_site/sites/default/settings.php \
  /var/www/drupal_site/sites/default

root@athos:~# chmod go-w /var/www/drupal_site/sites/default/settings.php \
>   /var/www/drupal_site/sites/default

Hugo. Malte Kiefer & Zuhdi Najib.