Как установить Joomla с Apache и Lets Encrypt SSL на Debian 10
Это руководство существует для этих версий ОС
- Debian 10 (Buster)
- Debian 9 (Stretch)
На этой странице
- Предпосылки
- Начало работы
- Установить сервер LAMP
- Создание базы данных для Joomla
- Установить Joomla
- Настройка веб-сервера Apache
- Доступ к Joomla
- Защитите Joomla с помощью Lets Encrypt SSL
- Заключение
Joomla — это бесплатная система управления контентом с открытым исходным кодом, используемая для создания, изменения и управления контентом веб-сайта. Он прост и удобен в использовании, поэтому вам не нужно знать HTML или CSS для создания веб-сайта. Он написан на PHP и использует MySQL в качестве базы данных. Он предлагает широкий спектр функций, которые делают его гибкой системой управления контентом прямо из коробки. Он поставляется с сотнями бесплатных расширений, которые позволяют настраивать и расширять функциональность.
В этом руководстве я покажу вам, как установить Joomla CMS с Apache и Lets Encrypt на Debian 10.
Предпосылки
- Сервер под управлением Debian 10.
- Действительное доменное имя, указанное с IP-адресом вашего сервера.
- Пароль root настраивается на сервере.
Начиная
Сначала обновите системные пакеты до обновленной версии, выполнив следующую команду:
apt-get update -y
Как только все пакеты будут обновлены, вы можете перейти к следующему шагу.
Установить LAMP-сервер
Далее вам нужно будет установить веб-сервер Apache, базу данных MariaDB, PHP и другие расширения PHP в вашей системе. Вы можете установить их все с помощью следующей команды:
apt-get install apache2 mariadb-server php openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-ldap php-mbstring php-mysql php-pgsql php-smbclient php-ssh2 php-sqlite3 php-xml php-zip -y
После установки всех пакетов можно переходить к следующему шагу.
Создать базу данных для Joomla
Joomla использует MySQL или MariaDB для хранения своего контента. Итак, вам нужно будет создать базу данных и пользователя для Joomla.
Сначала подключитесь к MariaDB с помощью следующей команды:
mysql
После подключения создайте базу данных и пользователя с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE joomladb;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'password';
Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Джумлу
Затем загрузите последнюю версию Joomla с помощью следующей команды:
wget https://downloads.joomla.org/cms/joomla3/3-9-25/Joomla_3-9-25-Stable-Full_Package.tar.bz2
После завершения загрузки создайте каталог для Joomla в корневом каталоге Apache:
mkdir /var/www/html/joomla
Затем выполните следующую команду, чтобы извлечь загруженный файл в каталог Joomla:
bunzip2 Joomla_3-9-25-Stable-Full_Package.tar.bz2
tar -xvf Joomla_3-9-25-Stable-Full_Package.tar -C /var/www/html/joomla/
Затем установите правильное разрешение и право собственности на каталог Joomla с помощью следующей команды:
chown -R www-data:www-data /var/www/html/joomla
chmod -R 755 /var/www/html/joomla
Как только вы закончите, вы можете перейти к следующему шагу.
Настройка веб-сервера Apache
Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для размещения файла Joomla.
Вы можете создать его с помощью следующей команды:
nano /etc/apache2/sites-available/joomla.conf
Добавьте следующие строки:
<VirtualHost *:80> ServerName joomla.example.com ServerAdmin DocumentRoot /var/www/html/joomla <Directory /var/www/html/joomla> Allowoverride all </Directory> </VirtualHost>
Сохраните и закройте файл, затем включите виртуальный хост Apache с помощью следующей команды:
a2ensite joomla
Затем перезапустите службу 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 Mon 2021-03-22 09:26:20 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 14495 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 14499 (apache2) Tasks: 6 (limit: 4701) Memory: 18.8M CGroup: /system.slice/apache2.service ??14499 /usr/sbin/apache2 -k start ??14500 /usr/sbin/apache2 -k start ??14501 /usr/sbin/apache2 -k start ??14502 /usr/sbin/apache2 -k start ??14503 /usr/sbin/apache2 -k start ??14504 /usr/sbin/apache2 -k start Mar 22 09:26:20 debian10 systemd[1]: Starting The Apache HTTP Server...
Доступ к Joomla
Теперь откройте веб-браузер и войдите в веб-интерфейс Joomla, используя URL-адрес http://joomla.example.com. Вы будете перенаправлены на следующую страницу:
Теперь укажите имя своего сайта, адрес электронной почты, имя пользователя администратора, пароль и нажмите кнопку «Далее». Вы должны увидеть следующую страницу:
Укажите имя вашей базы данных, имя пользователя базы данных, пароль и нажмите кнопку «Далее». Вы должны увидеть следующую страницу:
Теперь подтвердите все настройки и нажмите кнопку «Установить», чтобы начать установку. После завершения установки вы должны увидеть следующую страницу:
Щелкните Удалить папку установки. Вы должны увидеть следующую страницу:
Теперь нажмите кнопку «Администратор», вы должны увидеть страницу входа в 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 2020-10-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
Заключение
Поздравляем! вы успешно установили CMS Joomla на сервер Debian 10. Теперь вы можете легко создать свой собственный сайт с помощью Joomla. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.