Ubuntu 18.04: 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 -e

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

mysql_install()
{
  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
}

phpmyadmin_install()
{
  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
}

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

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

apache_install()
{
  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.2
  sudo a2ensite joomla
  sudo systemctl enable apache2
  sudo systemctl restart apache2
}

ubuntu_main()
{
  mysql_install
  phpmyadmin_install
  joomla_install
  apache_install
}

ubuntu_main

2 Joomlaへアクセスする

以下のURLにアクセスしてJoomlaをセットアップします。データベースのユーザ名はjoomlaでパスワードはJOOMLA_PASSWDの値を設定してください。

https://<server>/joomla

0001_Joomla.png