Chamilo - это бесплатная система управления обучением с открытым исходным кодом (LMS), которая широко используется для онлайн-обучения и совместной работы по всему миру.
В этой статье я покажу вам, как развернуть последний стабильный выпуск Chamilo на экземпляре сервера Ubuntu 18.04 LTS.
Предпосылки
- В производстве рекомендуется новый экземпляр сервера Vultr Ubuntu 18.04 LTS x64 с достаточным объемом памяти, 8 ГБ или более. Скажите, что его адрес IPv4 есть
203.0.113.1
.
- Пользователь Sudo .
- Экземпляр сервера обновлен до последнего стабильного состояния. Подробности здесь .
- Домен
chamilo.example.com
, указываемый на экземпляр сервера, упомянутый выше.
Изменить правила брандмауэра UFW
На производстве вам нужно изменить правила брандмауэра UFW, чтобы разрешить только входящий трафик TCP через порты SSH, HTTP и HTTPS:
sudo ufw allow in ssh
sudo ufw allow in http
sudo ufw allow in https
sudo ufw enable
Установите Apache 2.4
В Ubuntu 18.04 LTS вы можете использовать APT для установки последней стабильной версии Apache следующим образом:
sudo apt install -y apache2
Удалите предварительно установленную страницу приветствия Apache:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
Запретить Apache предоставлять файлы и каталоги в корневом веб-каталоге /var/www/html
посетителям:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Включите модуль Apache Rewrite:
sudo a2enmod rewrite
Запустите сервис Apache и сделайте его автозапуск при каждой загрузке системы:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Установите и закрепите серию MariaDB 10.3
Установите последнюю стабильную версию MariaDB:
sudo apt install -y software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
Во время установки вам будет предложено установить новый пароль для root
пользователя MariaDB . В целях безопасности обязательно введите здесь надежный пароль.
Запустите сервис MariaDB и сделайте его автозапуск при каждой загрузке системы:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Безопасный MariaDB:
sudo /usr/bin/mysql_secure_installation
При появлении запроса ответьте на каждый вопрос на экране следующим образом:
Enter current password for root (enter for none): your-MariaDB-root-password
Change the 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
Установите необходимые пакеты PHP 7.2
Чтобы повысить производительность на сайте Chamilo, рекомендуется установить последние пакеты PHP 7.2, а не устаревшие пакеты PHP 5.x. В настоящее время вы можете использовать стороннее хранилище PPA для установки необходимых пакетов PHP 7.2 следующим образом.
Установите ondrej/php
репозиторий PPA, а затем обновите систему:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
Установите необходимые пакеты PHP 7.2:
sudo apt install -y php7.2 php7.2-opcache php7.2-cli php7.2-curl php7.2-common php7.2-gd php7.2-intl php7.2-mbstring php7.2-mysql libapache2-mod-php7.2 php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-ldap php-apcu-bc
Резервное копирование и редактирование Apache-ориентированного файла конфигурации PHP:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php/7.2/apache2/php.ini
Примечание. При работе с собственным экземпляром сервера обязательно замените значение примера часового пояса America/Los_Angeles
своим собственным. Вы можете найти все поддерживаемые значения часового пояса здесь .
Установить Чамило
При наличии стека LAMP пришло время развернуть LMS Chamilo. Вам потребуется настроить отдельную базу данных MariaDB для Chamilo, подготовить файлы Chamilo LMS, настроить параметры PHP 7.2, настроить виртуальный сервер Apache, завершить установку в веб-браузере и выполнить меры безопасности после установки.
Войдите в оболочку MariaDB как root
:
mysql -u root -p
В оболочке MariaDB введите следующие операторы:
CREATE DATABASE chamilo;
CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Примечание. В целях безопасности не забудьте заменить имя chamilo
базы данных, имя пользователя базы данных chamilouser
и пароль yourpassword
своими собственными.
Подготовьте файлы Chamilo LMS
Загрузите последнюю стабильную версию Chamilo из репозитория Chamilo GitHub. Обязательно выберите релиз PHP 7.x:
cd
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.8/chamilo-1.11.8-php7.tar.gz
Извлеките все файлы Chamilo в /opt
каталог:
sudo tar -zxvf chamilo-1.11.8-php7.tar.gz -C /opt
Чтобы облегчить ежедневное использование и потенциальные обновления, создайте символическую ссылку, указывающую на /opt/chamilo-1.11.8-php7
каталог, в корневом веб-каталоге Apache /var/www/html
:
sudo ln -s /opt/chamilo-1.11.8-php7 /var/www/html/chamilo
Измените владение всеми файлами Chamilo для www-data
пользователя и www-data
группы:
sudo chown -R www-data:www-data /opt/chamilo-1.11.8-php7
Точная настройка PHP 7.2 для Chamilo
Используйте vi
редактор, чтобы открыть тот же файл конфигурации PHP, который мы редактировали ранее:
sudo vi /etc/php/7.2/apache2/php.ini
Найдите следующие строки соответственно:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
Замените их следующим:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
Сохранить и выйти:
:wq!
Настройте виртуальный сервер Apache для Chamilo LMS
Используйте следующие команды для настройки виртуального хоста Apache для вашего сайта Chamilo LMS:
cat <<EOF | sudo tee /etc/apache2/sites-available/chamilo.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/chamilo
ServerName chamilo.example.com
ServerAlias example.com
<Directory />
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/chamilo>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/chamilo.example.com-error_log
CustomLog /var/log/apache2/chamilo.example.com-access_log common
</VirtualHost>
EOF
Примечание. Обязательно замените все вхождения example.com
фактическим доменом.
Используйте новую символическую ссылку, чтобы заменить файл ссылки по умолчанию в /etc/apache2/sites-enabled
каталоге:
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/
Перезапустите службу Apache, чтобы применить все ваши изменения:
sudo systemctl restart apache2.service
Завершите установку в веб-браузере
Укажите свой любимый веб-браузер http://chamilo.example.com
, и вы попадете в мастер установки Chamilo. Нажмите на Install Chamilo
кнопку, чтобы двигаться дальше. Следующий раздел проведет вас через процесс установки:
Step 1 - Installation Language
: Выберите язык, который вы хотите использовать, например English
, затем нажмите Next
кнопку.
Step 2 – Requirements
Убедитесь, что все обязательные требования выполнены, и нажмите New installation
кнопку.
Step 3 – Licence
: Вам необходимо просмотреть стандартную публичную лицензию GNU (GPL), установить флажок рядом с I agree
предложением, заполнить все поля контактной информации и затем нажать Next
кнопку, чтобы продолжить.
Step 4 – MySQL database settings
: Введите учетные данные базы данных, которые мы настроили ранее, а затем нажмите Check database connection
кнопку, чтобы проверить их. Нажмите на Next
кнопку, чтобы двигаться дальше.
Step 5 – Config settings
: Обязательно измените предварительно установленный пароль администратора, заполните другие поля в соответствии с вашим бизнес-планом, а затем нажмите Next
кнопку, чтобы продолжить.
Step 6 – Last check before install
: Просмотрите все настройки и затем нажмите Install Chamilo
кнопку, чтобы начать установку через Интернет.
Step 7 – Installation process execution
: После успешной установки Chamilo нажмите Go to your newly created portal.
кнопку, чтобы завершить работу мастера веб-установки.
Выполните меры безопасности после установки
Кроме того, две меры безопасности, которые необходимо предпринять после установки, перечислены ниже:
sudo chmod -R 0555 /var/www/html/chamilo/app/config
sudo rm -rf /var/www/html/chamilo/main/install