Debian 9: CMSのJoomlaをインストールする

コンテンツマネージメントシステムのJoomlaをインストールする手順を記載します。

1 Joomlaをインストールする

  • この記事ではhttpsの為にデフォルトのSSL/TLS証明書を使っています。別にSSL/TLS証明書を用意している場合はそちらをお使いください。
  • httpではなくhttpを使用する場合は、/etc/apache2/sites-available/joomla.confにて、443を80にしてSSLXXXのディレクティブを削除してください。
  • JOOMLA_PASSWDはMySQLで使うjoomlaユーザのパスワードです。
#!/bin/sh

set -e

MYSQL_VERSION=5.5
[ -z "${MYSQL_PASSWD}" ] && \
  MYSQL_PASSWD=mysql
[ -z "${JOOMLA_PASSWD}" ] && \
  JOOMLA_PASSWD=joomla
[ -z "${PHPMYADMIN_PASSWD}" ] && \
  PHPMYADMIN_PASSWD=phpmyadmin

debian_install_mysql()
{
  cat <<EOF | sudo debconf-set-selections
mysql-server-${MYSQL_VERSION} mysql-server/root_password password ${MYSQL_PASSWD}
mysql-server-${MYSQL_VERSION} mysql-server/root_password_again password ${MYSQL_PASSWD}
EOF
  sudo apt install -y mysql-server

  cat<<EOF | sudo mysql -uroot -p${MYSQL_PASSWD}
grant all privileges on joomla.* to joomla@localhost
  identified by '${JOOMLA_PASSWD}';
flush privileges;
exit
EOF
}

debian_install_phpmyadmin()
{
  cat <<EOF | sudo debconf-set-selections
phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2
phpmyadmin phpmyadmin/dbconfig-install boolean true
phpmyadmin phpmyadmin/mysql/admin-pass password ${MYSQL_PASSWD}
phpmyadmin phpmyadmin/mysql/app-pass password ${PHPMYADMIN_PASSWD}
phpmyadmin phpmyadmin/app-password-confirm password ${PHPMYADMIN_PASSWD}
phpmyadmin phpmyadmin/setup-username string admin
phpmyadmin phpmyadmin/setup-password password ${PHPMYADMIN_PASSWD}
EOF
  sudo apt install -y phpmyadmin
}

debian_install_joomla()
{
  sudo apt-get install -y php-mysql php-json php-curl php-mcrypt
  JOOMLA3=https://downloads.joomla.org/cms/joomla3

  wget -q ${JOOMLA3}/3-7-2/Joomla_3-7.2-Stable-Full_Package.tar.bz2
  sudo mkdir -p /var/www/joomla
  sudo tar jxf Joomla_3-7.2-Stable-Full_Package.tar.bz2 -C /var/www/joomla
  rm -f Joomla_3-7.2-Stable-Full_Package.tar.bz2
}

debian_install_apache()
{
  sudo apt install -y apache2 libapache2-mod-php

  sudo chown -R www-data:root /var/www/joomla

  cat <<EOF | sudo tee /etc/apache2/sites-available/joomla.conf
<VirtualHost _default_:443>
  SSLEngine on
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

  Alias /joomla /var/www/joomla

  <Directory /var/www/joomla>
    Options FollowSymLinks
    Require all granted
  </Directory>
</VirtualHost>
EOF
  sudo a2enmod ssl
  sudo a2enmod php7.0
  sudo a2ensite joomla
  sudo systemctl enable apache2
  sudo systemctl restart apache2
}

debian_main()
{
  debian_install_mysql
  debian_install_phpmyadmin
  debian_install_joomla
  debian_install_apache
}

debian_main

2 Joomlaへアクセスする

以下のURLにアクセスしてJoomlaをセットアップします。ブラウザでこのページの証明書を許可してください。

データベースのユーザ名はjoomlaでパスワードはJOOMLA_PASSWDの値を設定してください。

https://<server>/joomla

0001_Joomla.png