Как установить Joomla с Apache и Lets Encrypt SSL на Ubuntu 22.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 14.04 LTS (Trusty Tahr)
На этой странице
- Предпосылки
- Установить сервер LAMP
- Создание базы данных MySQL для Joomla
- Загрузить Joomla
- Создание виртуального хоста Apache для Joomla
- Доступ к веб-установке Joomla
- Защитите Joomla с помощью Lets Encrypt SSL
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.