Как установить Neos CMS на Ubuntu 22.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 18.04 (Bionic Beaver)
На этой странице
- Предпосылки
- Начало работы
- Установите Apache, MariaDB и PHP.
- Создание базы данных для Neos CMS
- Установите CMS Neos
- Настройка Apache для Neos CMS
- Доступ к Neos CMS
- Защитите Neos CMS с помощью Lets Encrypt
- Заключение
Neos CMS — это бесплатная инновационная система управления контентом с открытым исходным кодом, которая помогает вам управлять веб-сайтами и блогами без каких-либо знаний в области программирования. Он прост, безопасен и разработан для простоты использования, что помогает владельцам бизнеса сотрудничать с пользователями на нескольких устройствах. Он предлагает очень полезные функции, включая полную поддержку Unicode, полную интернационализацию, SEO, встроенное редактирование и многое другое. Основная идея проекта заключается в том, чтобы позволить редакторам редактировать контент как можно более плавно, сохраняя при этом его структуру.
В этом руководстве мы покажем вам, как установить Neos CMS с Apache и Lets Encrypt SSL на сервере Ubuntu 22.04.
Предпосылки
- Сервер под управлением Ubuntu 22.04.
- Действительное доменное имя указано вместе с IP-адресом вашего сервера.
- На сервере настроен пароль root.
Начиная
Сначала выполните следующие команды, чтобы обновить все ваши системные пакеты до обновленных версий:
apt update -y
apt upgrade -y
Как только вы закончите, вы можете перейти к следующему шагу.
Установите Apache, MariaDB и PHP
Далее вам нужно будет установить Apache, MariaDB, PHP и другие необходимые пакеты в вашу систему. Выполните следующую команду, чтобы установить их все:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-gmagick php-zip curl unzip git -y
После установки всех пакетов отредактируйте файл php.ini и внесите некоторые изменения:
nano /etc/php/8.1/apache2/php.ini
Измените следующие строки:
short_open_tag = On memory_limit = 256M upload_max_filesize = 150M max_execution_time = 360 date.timezone = UTC
Сохраните и закройте файл, затем перезапустите службу Apache, чтобы применить изменения:
systemctl restart apache2
Создание базы данных для Neos CMS
Во-первых, вам нужно будет установить корневой пароль MariaDB и защитить установку. Вы можете сделать это с помощью следующей команды:
mysql_secure_installation
Ответьте на все вопросы, как показано ниже:
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Когда вы закончите, войдите в MariaDB с помощью следующей команды:
mysql -u root -p
После входа в систему создайте базу данных и пользователя для Neos CMS, используя следующую команду:
MariaDB [(none)]> CREATE DATABASE neosdb;
MariaDB [(none)]> CREATE USER 'neos'@'localhost' IDENTIFIED BY 'mypassword';
Затем предоставьте все привилегии базе данных Neos с помощью следующей команды:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neosdb.* TO 'neos'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
Затем измените кодировку базы данных на utf8mb4, сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:
MariaDB [(none)]> ALTER DATABASE neosdb charset=utf8mb4;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Затем отредактируйте файл конфигурации MariaDB и внесите некоторые изменения:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Добавьте следующие строки:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_file_per_table = 1 innodb_default_row_format = dynamic
Сохраните и закройте файл, затем перезапустите службу MariaDB, чтобы применить изменения:
systemctl restart mariadb
Как только вы закончите, вы можете перейти к следующему шагу.
Установить CMS Неос.
Прежде чем начать, вам нужно будет установить Composer в вашу систему. Composer — это менеджер зависимостей, используемый для установки зависимостей PHP.
Выполните следующую команду, чтобы установить Composer:
curl -sS https://getcomposer.org/installer | php
Вы должны получить следующий результат:
All settings correct for using Composer Downloading... Composer (version 2.4.1) successfully installed to: /root/composer.phar Use it: php composer.phar
Затем переместите файл Composer в системную папку:
mv composer.phar /usr/local/bin/composer
Затем измените каталог на веб-корневой каталог Apache и загрузите Neos CMS с помощью следующей команды:
cd /var/www/html/
git clone https://github.com/neos/neos-base-distribution.git
Затем переименуйте загруженный каталог и запустите команду composer, чтобы установить все зависимости PHP:
mv neos-base-distribution neoscms
cd neoscms
composer install
Затем установите правильное разрешение и право собственности на каталог Neos:
chown -R www-data:www-data /var/www/html/neoscms/
chmod -R 755 /var/www/html/neoscms/
Как только вы закончите, вы можете перейти к следующему шагу.
Настройка Apache для CMS Neos
Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для размещения Neos CMS. Вы можете создать его с помощью следующей команды:
nano /etc/apache2/sites-available/neoscms.conf
Добавьте следующие строки:
<VirtualHost *:80> ServerAdmin DocumentRoot /var/www/html/neoscms/Web ServerName neos.example.com <Directory /var/www/html/neoscms/Web/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/neos_error.log CustomLog ${APACHE_LOG_DIR}/neos_access.log combined <Directory /var/www/html/neoscms/Web/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*) index.php [PT,L] </Directory> </VirtualHost>
Сохраните и закройте файл, затем активируйте виртуальный хост и включите модуль перезаписи Apache с помощью следующей команды:
a2ensite neoscms.conf
a2enmod rewrite
Затем перезапустите службу 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 Sun 2022-09-04 08:07:38 UTC; 8s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 22571 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 22577 (apache2) Tasks: 6 (limit: 4579) Memory: 14.7M CPU: 128ms CGroup: /system.slice/apache2.service ??22577 /usr/sbin/apache2 -k start ??22578 /usr/sbin/apache2 -k start ??22579 /usr/sbin/apache2 -k start ??22580 /usr/sbin/apache2 -k start ??22581 /usr/sbin/apache2 -k start ??22582 /usr/sbin/apache2 -k start Sep 04 08:07:38 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...
На данный момент веб-сервер Apache настроен для обслуживания Neos CMS. Теперь вы можете перейти к следующему шагу.
Доступ к CMS Neos
Теперь откройте веб-браузер и войдите в Neos CMS, используя URL-адрес http://neos.example.com. Вы будете перенаправлены на следующую страницу:
Нажмите Перейти к настройке. Вы должны увидеть следующую страницу:
Введите пароль для установки из файла SetupPassword.txt и нажмите кнопку «Войти». Вы должны увидеть следующую страницу:
Убедитесь, что все необходимые расширения PHP установлены, затем нажмите кнопку «Далее». Вы должны увидеть следующую страницу:
Укажите имя базы данных, имя пользователя базы данных, хост базы данных, пароль и нажмите кнопку «Далее». Вы должны увидеть следующую страницу:
Укажите свое имя, имя пользователя администратора, пароль и нажмите кнопку «Далее». Вы должны увидеть следующую страницу:
Нажмите Перейти к серверной части. Вы должны увидеть страницу входа в Neos CMS:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Neos CMS на следующей странице:
Защитите Neos CMS с помощью Lets Encrypt
Рекомендуется защитить свой сайт с помощью Lets Encrypt Free SSL. Сначала установите клиент Certbot для установки SSL и управления им. Вы можете установить его с помощью следующей команды:
apt-get install python3-certbot-apache -y
После установки выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:
certbot --apache -d neos.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 neos.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/neos-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/neos-le-ssl.conf Enabling available site: /etc/apache2/sites-available/neos-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/neos.conf to ssl vhost in /etc/apache2/sites-available/neos-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://neos.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=neos.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/neos.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/neos.example.com/privkey.pem Your cert will expire on 2022-12-07. 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
Заключение
Поздравляем! вы успешно установили Neos CMS с Apache и Lets Encrypt SSL на сервер Ubuntu 22.04. Теперь вы можете легко создавать и редактировать свой веб-сайт через веб-браузер. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.