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
- https://www.drupal.org/docs/8
- https://www.drupal.org/project/drupal/releases/8.7.3
- https://www.drupal.org/docs/8/troubleshooting-drupal-8/fix-drupal-8-clean-urls-problems
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