Поиск по сайту:

Как установить Joomla с Apache и Lets Encrypt SSL на Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 14.04 LTS (Trusty Tahr)

На этой странице

  1. Предпосылки
  2. Установить сервер LAMP
  3. Создание базы данных MySQL для Joomla
  4. Загрузить Joomla
  5. Создание виртуального хоста Apache для Joomla
  6. Доступ к веб-установке Joomla
  7. Защитите Joomla с помощью Lets Encrypt SSL
  8. Заключение

Joomla — это бесплатная, отмеченная наградами система управления контентом с открытым исходным кодом, которая позволяет создавать веб-сайты и онлайн-приложения. Он написан на PHP и использует MySQL в качестве базы данных. Joomla предлагает несколько отличных функций, которые помогают пользователям эффективно организовывать контент и управлять им. Он расширяемый, простой в использовании, удобный для поисковых систем и предоставляет удобный веб-интерфейс для централизованного управления вашим сайтом.

В этом посте мы покажем вам, как установить Joomla CMS с Apache и Lets Encrypt SSL на Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 22.04.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установить LAMP-сервер

Сначала установите веб-сервер Apache, сервер базы данных MySQL и последнюю версию PHP с другими расширениями, используя следующую команду:

apt install apache2 mysql-server php8.1 libapache2-mod-php8.1 php8.1-dev php8.1-bcmath php8.1-intl php8.1-soap php8.1-zip php8.1-curl php8.1-mbstring php8.1-mysql php8.1-gd php8.1-xml unzip -y

После установки всех пакетов проверьте версию PHP с помощью следующей команды:

php -v

Вы должны увидеть следующий вывод:

PHP 8.1.2 (cli) (built: Apr  7 2022 17:46:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

Как только вы закончите, вы можете перейти к следующему шагу.

Создать базу данных MySQL для Joomla

Далее вам нужно будет создать базу данных и пользователя для Joomla для хранения веб-контента. Сначала подключитесь к MySQL с помощью следующей команды:

mysql

После подключения создайте базу данных и пользователя с помощью следующей команды:

mysql> CREATE DATABASE joomladb;
mysql> CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'securepassword';

Затем предоставьте все привилегии базе данных Joomla с помощью следующей команды:

mysql> GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost';

Затем очистите таблицу привилегий и выйдите из MySQL, используя следующую команду:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать Joomla

На момент написания этого руководства последней версией Joomla была 4.2.1. Вы можете скачать его с официального сайта с помощью следующей команды:

wget https://downloads.joomla.org/cms/joomla4/4-1-2/Joomla_4-1-2-Stable-Full_Package.zip

После завершения загрузки разархивируйте загруженный файл в корневой веб-каталог Apache с помощью следующей команды:

unzip Joomla_4-1-2-Stable-Full_Package.zip -d /var/www/html/joomla

Затем измените владельца и разрешение Joomla с помощью следующей команды:

chown -R www-data:www-data /var/www/html/joomla/
chmod -R 755 /var/www/html/joomla/

Как только вы закончите, вы можете перейти к следующему шагу.

Создайте виртуальный хост Apache для Joomla

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Joomla. Вы можете создать его с помощью следующей команды:

nano /etc/apache2/sites-available/joomla.conf

Добавьте следующие строки:

<VirtualHost *:80>

ServerAdmin 

ServerName joomla.example.com
DocumentRoot /var/www/html/joomla

<Directory /var/www/html/joomla/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined

</VirtualHost>

Сохраните и закройте файл, затем активируйте виртуальный хост Joomla с помощью следующей команды:

a2ensite joomla.conf

Затем перезапустите службу Apache, чтобы применить изменения:

systemctl restart apache2

Вы также можете проверить статус службы Apache с помощью следующей команды:

systemctl status apache2

Вы получите следующий вывод:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 07:59:59 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16393 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16398 (apache2)
      Tasks: 6 (limit: 4630)
     Memory: 13.8M
        CPU: 129ms
     CGroup: /system.slice/apache2.service
             ??16398 /usr/sbin/apache2 -k start
             ??16399 /usr/sbin/apache2 -k start
             ??16400 /usr/sbin/apache2 -k start
             ??16401 /usr/sbin/apache2 -k start
             ??16402 /usr/sbin/apache2 -k start
             ??16403 /usr/sbin/apache2 -k start

Apr 29 07:59:59 ubuntu systemd[1]: Starting The Apache HTTP Server...

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-установке Joomla

Теперь откройте веб-браузер и войдите в веб-установку Joomla, используя URL-адрес http://joomla.example.com. Вы будете перенаправлены на следующую страницу:

Выберите свой язык, определите имя своего сайта и нажмите «Настроить данные для входа». Вы должны увидеть следующую страницу:

Укажите свое настоящее имя, имя пользователя, пароль, адрес электронной почты и нажмите «Настроить подключение к базе данных». Вы должны увидеть следующую страницу:

Укажите имя вашей базы данных, имя пользователя базы данных, хост, пароль и нажмите кнопку «Установить Joomla». После установки Joomla вы увидите следующую страницу:

Нажмите «Открыть администратор». Вы должны увидеть страницу входа в Joomla:

Введите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Joomla на следующей странице:

Защитите Joomla с помощью Lets Encrypt SSL

Всегда полезно защитить свой сайт с помощью Lets Encrypt SSL. Вам нужно будет установить клиент Certbot для установки и управления SSL. Вы можете установить его с помощью следующей команды:

apt-get install python3-certbot-apache -y

После установки Certbot выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:

certbot --apache -d joomla.example.com

Вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for joomla.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf

Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Введите 2 и нажмите Enter, чтобы установить Lets Encrypt SSL для вашего сайта:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://joomla.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=joomla.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/joomla.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/joomla.example.com/privkey.pem
   Your cert will expire on 2023-01-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Теперь вы можете безопасно получить доступ к своему веб-сайту, используя URL-адрес https://joomla.example.com.

Заключение

Поздравляем! вы успешно установили Joomla с Apache и Lets Encrypt SSL на Ubuntu 22.04. Теперь вы можете легко создавать и размещать веб-сайты на платформе Joomla. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.