Установка Joomla 3.5 на Freebsd 10.3

от автора

Начну с того, что из всех cms joomla — моя любимая, поэтому решил написать вот такую статью. Для начала необходимо установить пакеты, которые понадобятся для установки joomla, выполните команду:

pkg install apache24 mysql56-server wget unzip 

После того, как установка завершится, необходимо добавить apache и mysql в автозапуск командами:

sysrc apache24_enable="YES"  sysrc mysql_enable="YES" 

Запустим apache и mysql:

service apache24 start  service mysql-server start 


В mysql имеется полезный скрипт для настройки mysql, выполните:

mysql_secure_installation 

В данном скрипте можно создать пароль на root доступ к mysql, удалить тестовые базы, удалить анонимных пользователей. После выполнения данного скрипта необходимо создать базу данных для joomla и создать права для неё, зайдите в mysql командой:

mysql -p -r 

Введите пароль, который только что был создан. Создадим базу данных командой:

create database joomla; 

Предоставим полный доступ к данной базе данных пользователю joomlauser, и создадим пароль для данного пользователя password:

GRANT ALL PRIVILEGES ON joomla.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; 

На этом настройка mysql завершена. Теперь скачаем непосредственно joomla, перейдите в каталог «вэб» сервера, командой:

cd /usr/local/www/apache24/data 


Удалим файл index.html:

rm index.html 

Joomla всегда можно скачать от сюда, скопируйте ссылку на архив с joomla и выполните:

wget --no-check-certificate https://github.com/joomla/joomla-cms/releases/download/3.5.1/Joomla_3.5.1-Stable-Full_Package.zip 

На момент написания актуальная версия joomla 3.5.1. Обязательно укажите —no-check-certificate, если скачивание происходит через https. Распакуем содержимое архива в корень «вэб» сервера:

unzip Joomla_3.5.1-Stable-Full_Package.zip 

Удалим архив:

rm Joomla_3.5.1-Stable-Full_Package.zip 

А теперь самое главное — PHP. Если нет желания возиться с портами, установите следующие пакеты и переходите к редактированию httpd.conf:

pkg install php70 mod_php70 php70-curl php70-json php70-mysqli php70-opcache php70-openssl php70-session php70-simplexml php70-xml php70-zlib 

Это желательный минимум для joomla(на мой взгляд). А теперь установим порты:

portsnap fetch extract 

Данная команда скачает порты и распакует их в каталог /usr/ports, перейдём в каталог с портом php70(joomla начиная с версии 3.5 поддерживает php70):

cd /usr/ports/lang/php70 

Из данного каталога выполните команду:

make install clean 

После выполнения данной команды на экране появится «конфигуратор» php, при необходимости можно выключить CLI, CGI, IPV6, или наоборот что-то добавить. После установки php70 необходимо установить расширение mod_php70 из каталога:

cd /usr/ports/www/mod_php70 

После перехода в данный каталог выполните:

make install clean 

После того как установка будет завершена, необходимо внести в httpd.conf строки с скриншота ниже. Откройте файл httpd.conf командой:

ee /usr/local/etc/apache24/httpd.conf 

Внесите данные строки, а так же добавьте index.php и замените AllowOverride None на AllowOverride All.

image

Удалите символ # на против строк:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so  LoadModule ssl_module libexec/apache24/mod_ssl.so  LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so 

Удалите символ # напротив строки(если намереваетесь использовать SSL сертификат, об этом чуть ниже):

Include etc/apache24/extra/httpd-ssl.conf 

Если подключаетесь через Putty, тогда нажмите F2 и два раза ENTER, а если непосредственно с компьютера, тогда ESC и два раза ENTER (эти действия сохранят изменения в редакторе ee). С php практически всё, осталось только установить некоторые дополнения для php, для этого необходимо перейти в папку с портом php70-extensions:

cd /usr/ports/lang/php70-extensions 

Выполним:

make install clean 

В конфигурации данного порта отметьте расширения:

curl json mysqli opcache openssl session simplexml xml zlib 

После установки данного порта, настройка php законченна. Заблокируем доступ к каталогу administrator, выполните:

ee /usr/local/www/apache24/data/administrator/.htaccess 

Введите строки:

order deny,allow  deny from all  allow from XXX.XXX.XXX.XXX 

Вместо XXX.XXX.XXX.XXX введите ip, которому будет необходим доступ к данному каталогу. Также необходимо переименовать htaccess.txt в .htaccess командой:

mv /usr/local/www/apache24/data/htaccess.txt /usr/local/www/apache24/data/.htaccess 

Теперь можно позаботиться о шифровании трафика между сайтом и посетителем, если в этом нет необходимости, тогда поставьте символ # перед строками в httpd.conf:

Include etc/apache24/extra/httpd-ssl.conf LoadModule ssl_module libexec/apache24/mod_ssl.so LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so 

Сертификат предпочитаю бесплатный от WoSign. По каким критериям определяется срок для сертификата, я не знаю, для домена ru мне был предоставлен сертификат на 1 год, а для домена su на три года. Всё, что необходимо, это зарегистрироваться, подтвердить владение доменом с помощью письма на админскую почту, или «заливки» файла в корень сайта. Метод получения не важен, после того, как архив будет скачан, откройте данный архив. В архиве будет вложенный архив «for Apache.zip», откройте его, используя пароль, который был создан на сайте. В данном архиве имеется три файла:

1_root_bundle.crt
2_mydomain.su.crt
3_mydomain.su.key

Данные файлы необходимо «залить» в папку /usr/local/etc/apache24 любым удобным способом, например, через протокол SFTP. После этого необходимо отредактировать файл /usr/local/etc/apache24/extra/httpd-ssl.conf, для этого введите:

ee /usr/local/etc/apache24/extra/httpd-ssl.conf 

Удалите символ # напротив строки:

SSLCertificateChainFile "/usr/local/etc/apache24/server-ca.crt" 

Приведите строки:

SSLCertificateFile "/usr/local/etc/apache24/server.crt"  SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"  SSLCertificateChainFile "/usr/local/etc/apache24/server-ca.crt" 

К виду:

SSLCertificateFile "/usr/local/etc/apache24/2_mydomain.su.crt"  SSLCertificateKeyFile "/usr/local/etc/apache24/3_mydomain.su.key"  SSLCertificateChainFile "/usr/local/etc/apache24/1_root_bundle.crt" 

По умолчанию используются устаревшие методы шифрования, исправим это. Удалите символ # перед строками:

SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA 

А так же можно закомментировать строки:

SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4 SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4 

В этом случае будет использоваться только протокол TLS 1.2. Сохраните изменения в файле. На этом настройка SSL завершена.

Вернёмся к установке joomla. Для того, чтобы установка joomla прошла корректно, необходимо папке /usr/local/www/ и её содержимому выставить владельца группу www командой:

chown -R www:www /usr/local/www 

После этих манипуляций открывайте интернет браузер, вводите ip-адрес вашего сервера.

image

На данной странице введите название сайта, email администратора, логин администратора, пароль администратора и нажимайте на кнопку «Далее».

image

На данной странице необходимо ввести данные к mysql, которые были созданы ранее. Имя пользователя joomlauser, пароль password, имя базы данных joomla.

image

Нажимайте кнопку «Установка».

image

Как только установка завершится, нажмите кнопку «Удалить директорию „installation“».

Давайте русифицируем Joomla. Для того, чтобы русифицировать Joomla, необходимо зайти в админ-панель сайта. В адресной строке браузера введите mysite.ru/administrator. На открывшейся странице введите ваш логин и пароль. Зайдите в меню extensions>Language(s). На открывшейся странице нажмите кнопку «Install Languages», введите rus в строке поиска. Поставьте галочку напротив Russian и нажмите кнопку «Install». Далее необходимо активировать русский язык. Опять заходим в меню extensions>Language(s), ставим точку напротив «Russian» и жмём кнопку «Deafult». Данные действия русифицируют только сайт, для того, чтобы русифицировать админ-панель, необходимо проделать действия, как показано на скриншоте.

image

Перейдя в данный пункт меню, также поставьте точку напротив «Russian» и нажмите «Default».

Удалим index.php из строки адреса. Для этого необходимо перейти в меню «Система»>«Общие настройки» и переключить «Перенаправление URL» на «Да» и нажать кнопку «Сохранить». Это сработает если строка:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so 

была раскомментирована. Строка:

AllowOverride None 

была заменена на:

AllowOverride All 

и файл htaccess.txt переименован в .htaccess.

image

На этом установка Jomla завершена, осталось только настроить firewall на основе ipfw. Следующие строки добавят ipfw в автозапуск и укажут скрипт с правилами, который необходимо использовать:

sysrc firewall_enable="YES"  sysrc firewall_script="/etc/firewall.sc" 

Создадим файл firewall.sc командой:

ee /etc/firewall.sc 

Внесите данные строки в файл firewall.sc

ipfw -q -f flush c="ipfw -q add "  $c 00001 allow all from any to any via lo0  $c 00010 allow tcp from any to me 22,80,443 setup keep-state  $c 00020 allow tcp from me to any 443 setup keep-state $c 00030 allow tcp from me to any 80 setup keep-state $c 00040 allow tcp from me to any 21 setup keep-state $c 00050 allow icmp from me to any keep-state $c 00060 allow udp from me to any 53 keep-state  $c 40533 deny all from any to any frag $c 40534 allow all from any to any established $c 40535 deny all from any to any 

Сохраните firewall.sc и запустите ipfw командой:

service ipfw start 

После данных манипуляций сайт возможно открывать как через 80 (http) порт, так и через 443 (https).

Спасибо за внимание.

ссылка на оригинал статьи https://habrahabr.ru/post/282664/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *