Перенос joomla на linux

Как установить Joomla с Apache в Ubuntu 18.04

Joomla — одна из самых популярных систем управления контентом с открытым исходным кодом, на которой работают сотни тысяч веб-сайтов. Он написан на PHP и содержит массу функций, которые можно расширить с помощью бесплатных и дополнительных расширений и тем. С Joomla вы можете легко создать свой магазин электронной коммерции, личный веб-сайт, социальный сайт или блог.

В этом руководстве мы объясним, как установить Joomla на Ubuntu 18.04. Мы будем использовать стек LAMP с Apache в качестве веб-сервера, SSL-сертификат, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.

Подготовка

Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:

  • Имейте доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Мы будем использовать example.com .
  • Вы вошли в систему как пользователь с привилегиями sudo .
  • Apache устанавливается, следуя этим инструкциям .
  • У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let’s Encrypt, следуя этим инструкциям .

Создание базы данных MySQL

Joomla может хранить свои данные, такие как статьи, категории, пользователи, расширения и настройки тем, в базе данных MySQL, PostgreSQL или MS SQL.

Мы будем использовать MySQL как внутреннюю базу данных. Если на вашем сервере Ubuntu не установлен MySQL, вы можете установить его, набрав:

sudo apt-get updatesudo apt-get install mysql-server

Войдите в консоль MySQL, набрав:

Из оболочки MySQL запустите следующий оператор SQL, чтобы создать базу данных :

CREATE DATABASE joomla CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON joomla.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

После этого выйдите из консоли mysql, набрав:

Установка PHP

PHP 7.2, который является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Joomla.

Установите PHP все необходимые расширения PHP с помощью следующей команды:

sudo apt updatesudo apt install php7.2 php7.2-cli php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-intl php7.2-xml php7.2-gd php7.2-zip php7.2-curl php7.2-xmlrpc php7.2-xmlrpc

Установите рекомендуемые параметры PHP, отредактировав файл php.ini с помощью sed :

sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/post_max_size = .*/post_max_size = 256M/" /etc/php/7.2/apache2/php.inisudo sed -i "s/output_buffering = .*/output_buffering = Off/" /etc/php/7.2/apache2/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 300/" /etc/php/7.2/apache2/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/apache2/php.ini

Перезапустите apache, чтобы загрузились только что установленные расширения PHP:

sudo systemctl restart apache2

Скачивание Joomla

На момент написания этой статьи последней версией Joomla была версия 3.9.4.

Читайте также:  Linux mint настройка разрешения экрана

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

sudo mkdir -p /var/www/example.comcd /var/www/example.com

Затем загрузите текущую версию Joomla со страницы загрузок Joomla, используя следующую команду wget :

sudo wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip

После завершения загрузки распакуйте архив и переместите файлы в корневой каталог документов домена:

sudo unzip Joomla_3-9-4-Stable-Full_Package.zip

Измените владельца каталога на www-data с помощью команды chown, чтобы веб-сервер имел полный доступ к файлам и каталогам сайта:

sudo chown -R www-data: /var/www/example.com 

Настройка Apache

К настоящему времени у вас уже должен быть установлен Apache с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.

Следующим шагом является редактирование конфигурации виртуальных хостов Apache:

sudo nano /etc/apache2/sites-available/example.com.conf

Следующая конфигурация Apache [перенаправляет HTTP на HTTPS] и www на версию вашего домена без www и включает HTTP2. Не забудьте заменить example.com своим доменом Joomla и указать правильный путь к файлам сертификатов SSL.

 *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/  *:443> ServerName example.com ServerAlias www.example.com Protocols h2 http/1.1  "% == 'www.example.com'"> Redirect permanent / https://example.com/ DirectoryIndex index.html index.php DocumentRoot /var/www/example.com ErrorLog $/example.com-error.log CustomLog $/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem  /var/www/example.com> Options FollowSymLinks AllowOverride All Require all granted  

Если не включен, включите виртуальный хост для домена. Эта команда создаст символическую ссылку с sites-available на каталог sites-enabled :

Чтобы новая конфигурация вступила в силу, перезапустите службу Apache, набрав:

sudo systemctl restart apache2

Завершение установки Joomla

Теперь, когда Joomla загружена и настройка сервера завершена, пора завершить установку Joomla с помощью веб-интерфейса.

Откройте браузер, введите свой домен, и появится экран, подобный следующему:

Выберите язык, который вы хотите использовать, и введите следующую информацию:

  • Имя сайта — имя вашего нового веб-сайта Joomla.
  • Описание — Описание сайта. Это резервное метаописание, которое будет использоваться на каждой странице без конкретного описания.
  • Адрес электронной почты администратора — адрес электронной почты администратора. Используйте действующий адрес электронной почты. Если вы забудете свой пароль, вы получите ссылку для изменения пароля на этот адрес электронной почты.
  • Имя пользователя администратора — имя пользователя с правами администратора. В целях безопасности установите для имени пользователя другое значение, кроме «admin».
  • Пароль администратора — пароль администратора. Убедитесь, что вы используете надежный пароль. Введите тот же пароль в поле Подтверждение пароля администратора .
  • Сайт не в сети — оставьте значение по умолчанию «Нет». Если вы выберете «Да», после завершения установки веб-сайт отобразит «Сайт не в сети».

Когда закончите, нажмите кнопку «Далее».

На следующем экране мастер настройки попросит вас ввести данные подключения к базе данных.

  • Тип базы данных — оставьте значение по умолчанию «MySQLi».
  • Имя хоста — оставьте значение по умолчанию «localhost». Если это руководство, база данных находится на том же сервере.
  • Имя пользователя , пароль , имя базы данных — введите данные пользователя MySQL и базы данных, которые вы создали ранее.
  • Префикс таблицы — оставьте автоматически созданный префикс.
  • Старый процесс базы данных — оставьте параметр по умолчанию «Резервное копирование».
Читайте также:  Открыть файл img linux

После нажатия кнопки «Далее» вы будете перенаправлены на страницу обзора:

Здесь вы можете выбрать установку демонстрационных данных и убедиться, что все проверки пройдены. Нажмите на кнопку « Install , и после завершения установки вы попадете на страницу, информирующую вас о том, что Joomla установлена.

Если вы хотите установить дополнительные языки, нажмите кнопку «Дополнительные шаги: Установить языки».

По соображениям безопасности вам необходимо удалить каталог установки. Для этого вернитесь в терминал и выполните следующую команду rm :

sudo rm -rf /var/www/example.com/installation

Чтобы получить доступ к вашей серверной части Joomla, нажмите кнопку « Adminstrator . Отсюда вы можете начать настройку вашей установки Joomla, установив новые темы и плагины.

Выводы

Поздравляем, вы успешно установили Joomla с Apache на свой сервер Ubuntu 18.04. Документация Joomla — хорошая отправная точка, чтобы узнать больше о том, как начать работу с вашим новым сайтом Joomla.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Источник

Перенос сайта Joomla на другой сервер

Нередко возникает ситуация когда необходимо перенести сайт на другой хостинг. При этом можно использовать инструменты панели управления и/или дополнительные программы вроде EMS SQL Manager. Однако при наличии доступа по ssh к локальному и удаленному серверу, все можно сделать штатными средствами OS. Перенос осуществляется в три этапа:

Копировать будет утилитой scp, которая входит в состав пакета openssh-clients, поэтому сначала необходимо на обоих серверах установить данный пакет:

# yum install openssh-clients

Создание базы данных и пользователя MySQ

Необходимо подключиться к консоли mysql:

и выполнить следующие запросы:

CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON имя_базы.* TO 'имя_пользователя'@'localhost';

Копирование MySQL

  1. Выгружаем базу данных в файл: # mysqldump —databases —create-options —comments -Q -uroot -p ‘имя_базы’ > /db.sql
  2. Копируем на удаленный сервер: # scp /db.sql root@удаленный_сервер:/
  3. Восстанавливаем базу на удаленном сервере: # mysql -uroot -hlocalhost -p < /db.sql

Копируем каталог с файлами

  1. Архивируем каталог с файлами: # zip -r /archive.zip /var/www/site
  2. Копируем архив на удаленный сервер: # scp /archive.zip root@удаленный_сервер:/
  3. Восстанавливаем каталог на удаленном сервере во временную папку: # unzip /archive.zip -d /tmp
  4. Копируем распакованные файлы из папки /tmp в папку сайта, и раздаем права: # chown -R apache:apache /var/www/site/*

Источник

Перенос joomla на linux

Перенос Joomla будет состоять из 4-х этапов:

  1. настройка доменного имени
  2. копирование файлов сайта
  3. экспорт/импорт базы данных (еще рассмотрим конвертацию кодировки с cp1251 в utf8)
  4. настройка параметров на новом сервере.
Читайте также:  Intel graphics opengl linux

Итак, 1) настройка доменного имени
При покупке доменного имени продавец должен выслать имя и пароль доступа настройки. Заходим в настройку доменного имени и создаем/редактируем записи:
подзона – @
A (тип записи)
приоритет – 0 (ноль) (если требуется)
адрес хоста – адрес сервера
Тоже самое нужно сделать с подзоной www
На сервере создаем VirtualHost
например, так:
ServerAdmin webmaster@localhost
ServerName mysite.com
ServerAlias http://www.mysite.com
DocumentRoot /srv/www/htdocs/mysite.com
ErrorLog /var/log/apache2/mysite.com-error_log
CustomLog /var/log/apache2/mysite.com_log combined

2) копирование файлов сайта
Тут вопросов не должно быть. Используем любой доступный способ копирования на сервер (ftp, ssh, webDAV, флешка …)
Не забываем про права доступа к файлам

3) экспорт/импорт базы данных (еще рассмотрим конвертацию кодировки с cp1251 в utf8)

а) экcпорт
mysqldump -u user -p mypassword databasename > backup.sql
скорее всего user – это root
К сожалению, у Денвера нету утилиты mysqldump. Поэтому можно скачать с сайта mysql файл (without installer, без установки) и копируем от туда mysqldump и вставляем в bin директорию, где установлен mysql

б) копируем файл на сервер

в)
(на сервере)
заходим в оболочку mysql (mysql –password для входа с паролем )

create user ‘myusername’@’localhost’ identified by ‘mypassword’ ;

create database mydbname character set utf8 collate utf8_general_ci;

grant all on mydbname .* to myusername @localhost ;

создали пользователя
создали базу (обратите внимание на кодировку)
дали все права для новому пользователю на новую базу

просмотреть кодировку созданной бд – show create database mydbname ;

г) конвертируем базу с cp1251 в utf8
iconv -f cp1251 -t utf8 backup.sql > backup-utf8.sql

в файлике backup-utf8.sql в строке
/*!40101 SET NAMES cp1251 */;
cp1251 меняем на utf8

д) импортируем базу
mysql -h localhost -u myusername -D mydbname –password= mypassword < backup-utf8.sql

для проверки импорта заходим в mysql под новым пользователем
mysql -u myusername -p mypassword mydbname

show tables ;

для установки кодировки в консоли mysql
SET character_set_client=’utf8′;

SET character_set_results=’utf8′;

SET character_set_connection=’utf8′;
( для справки : Переменная character_set_client устанавливает кодировку данных отправляемых от клиента, переменная character_set_results устанавливает кодировку данных отправляемых клиенту, переменная character_set_connection устанавливает кодировку, в которую преобразуется информация пришедшая от клиента, перед выполнением запроса на сервере. )
или просто
SET NAMES ‘utf8’ (который заменяет эти 3 команды)
и смотрим одну из таблиц
select * from mytablename ;

4) настройка параметров на новом сервере.
открываем для редактирования файл configuration.php (желательно предварительно сохраните оригинал)
редактируем поля
var $user = ‘myusername’;

var $log_path = ‘/новый/путь/к/папке/logs’;

var $tmp_path = ‘/новый/путь/к/папке/tmp’;

Заходим на сайт, проверяем, радуемся (или исправляем ошибки, а потом радуемя)

Источник

Оцените статью
Adblock
detector