sshНа днях пришлось делать бэкап сайта через SSH. Решил написать сам себе шпаргалочку на будущее и выложить на свой блог. Вдруг еще кому пригодится… Эта инструкция действительна, если у вас веб-сервер Apache 2 на Linux и сайт на PHP/MySQL (в такой конфигурации работает большинство сайтов в Интернете).

Скорее всего, для новичков эта статья не подойдет, однако если у вас уже есть хотя бы небольшой опыт работы с командной строкой и администрирования веб-сервера Apache, то эта статья будет отличным напоминанием.

Если у вас сайт на WordPress, то вы можете создать бэкапы при помощи специальных плагинов.

РАССЫЛКА «ХОЧУ МИЛЛИОН»

1-3 письма в неделю. Зарабатывай 1.5 млн в месяц, работая 3 ч в день.

    Никакого спама! Можно отписаться в любой момент.

    Еще вам могут пригодиться другие команды терминала Ubuntu, Linux и Mac OS X (если вы никогда не работали с консолью, то сначала обязательно прочтите эту статью).

    Хочу сказать, что если вы умеете делать бэкапы через SSH, то делать бэкапы через SSH намного легче и быстрее, чем при помощи FTP и PhpMyAmin. Но чтобы научиться пользоваться SSH, придется потратить время.

    Что такое SSH простыми словами?

    Вы можете подключиться к своему сайту, чтобы скачать его файлы, по FTP или SSH. Это названия протоколов передачи данных, которые описывают, как будут передаваться данные. Если вы подключаетесь по ФТП, то ваши файлы передаются в открытую через Интернет, а если вы передаете их по SSH, то все данные зашифрованы.

    SSH обычно пользуются опытные системные администраторы, которые виртуозно владеют командной строкой. В общем, пользоваться SSH непросто, но безопасно. ФТП использовать намного проще, и если вы новичок, то лучше пользоваться ФТП.

    Пара слов о настройках веб-сервера Apache в разных дистрибутивах Linux

    Обычно конфигурационный файл Apache лежит в следующих папках в зависимости от операционной системы:

    • Fedora, CentOS (один файл, который содержит информацию обо всех сайтах): /etc/httpd/conf/httpd.conf.
    • Debian, Ubuntu (система небольших конфигурационных файлов, обычно один отдельный файл на каждый сайт или однородных настроек сервера): /etc/apache2/apache2.conf

    Конфигурирование также возможно в отдельном файле .htaccess на уровне директорий, чтобы дополнить или переписать настройки конфигурационных файлов.

    Полезные команды для работы с веб-сервером Apache

    • apachectl -V – эта команда показывает версию Апаче и где лежит конфигурационный файл (утилита apachectl установлена не на всех серверах!);
    • grep -v “^$|^[[:space:]]*#” /etc/httpd/conf/httpd.conf | less – эта команда позволяет читать конфигурационный файл без комментариев (v – выборка несовпадающих строк);
    • service apache2 status – проверка статуса веб-сервера Apache.

    Пошаговая инструкция по созданию бэкапа сайта через SSH

    На самом деле в создании бэкапа сайта через SSH нет ничего сложного, просто надо хорошо освоить командную строку.

    Самое сложное – это найти корневую директорию сайта (папку, где лежат все файлы сайта), а потом в этих файлах найти, в каком файле записаны доступы к базе данных.

    Если у вас сайт на WordPress, то доступы к БД находятся в файле wp-config.php, если сайт на Joomla, то в файле – configuration.php, а если на Drupal, то в файле – settings.php. WordPress, Joomla, Drupal – это три самые популярные в мире CMS.

    ШагЧто делаемКоманда
    1Открываем командную строкуLinux: Ctrl + Alt + T
    Mac OS X: Command (⌘) + Т
    2Подключаемся к удаленному серверу по SSHssh user-name@server-ip
    3Выясняем, в какой папке на сервере лежат файлы нашего сайта. Входим в папку, где лежат виртуальные хосты.cd /etc/apache2/sites-enabled
    4Смотрим названия файлов с виртуальными хостами *.confls
    5Открываем файлы виртуальных хостов *.conf при помощи текстового редактора nano и смотрим, в какой папке лежит сайт (в строке Document Root)nano file.conf
    6Выходим из текстового редактора nanoCtrl + X
    7Переходим в папку, в которой лежит сайтcd /var/www/vhosts/pma/httpdocs
    8Ищем в конфигурационных файлах доступы к базе данныхls
    9Открываем файлы с именами index.php или config.php и им подобные и ищем в них доступы к БДnano config.php
    10Если на предыдущем шаге не удалось найти доступы к БД, то ищем в корневой директории сайта файлы, содержащие слово "database"grep -i -R "database" <корневая папка сайта>
    11Подключаемся к базе данных MySQLmysql -u user -p database
    12Создаем бэкап базы данных MySQLmysqldump -u [username] -p [database name] > [database name].sql
    13Создаем бэкап с файлами веб-сайта в формате .zip (эта команда архивирует все файлы и подкаталоги из корневой папки сайта в архив с названием backup.zip)zip -r backup.zip <корневая папка сайта>/
    14Копируем созданные бэкапы с сервера на свой компьютер (эта команда скачивает файл backup.zip с сервера на текущий компьютер в папку folder)scp user-name@server-ip:backup.zip /local/folder

     

    2 КОММЕНТАРИИ

    1. Живенько! Бум проверять… ещё бы “Как развернуть сайт по ssh”. Для полноты комплекта… ?

      • )))) Как развернуть сайт по SSH (кратко или живенько как Вы говорите):

        1) Перекачиваем файлы своего сайта на новый хостинг. Для этого сначала архивируем их, а затем переносим архив с одного сервера на другой.
        2) Подключаемся к MySQL как root.
        3) Создаем для нового сайта базу данных и пользователя.
        4) Прописываем название БД, имя пользователя и пароль в конфигурационном файле сайта.
        5) Экспортируем базу данных со старого сайта.
        6) Заливаем (импортируем) базу данных на новый сайт.

        Все эти команды прописаны здесь: https://wilhard.ru/tech/terminal-ubuntu/

    Вопросы? Мысли? Не стесняйтесь, делитесь)!