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

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


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

  • Debian 10 (Buster)
  • Debian 9 (Stretch)

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

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

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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.