- Основы Linux Server для начинающих
- Основные настройки Linux Server
- Настройка пользователей в Linux
- Настройка сети в Linux
- Установка программ в Linux Server
- Как установить локальный сервер на Linux
- Какой локальный сервер выбрать
- Установка Lampp
- Welcome
- Welcome
- 3. Конфигурация Apache-сервера
- Настройка FTP-сервера
- 1. Установка
- 2. Создание локальной учетной записи
- 3. Конфигурация
- 4. Создание базы данных
- Настройка PHP-сервера
- 1. Установка
- 2. Проверка
- Welcome
- Настройка MySQL (MariaDB)
- 1. Установка
- Настройка phpMyAdmin
- 1. Установка
- 2. Создание псевдонима
- 3. Подготовка базы данных
- 4. Конфигурация
- Установка и настройка WordPress на сервер Linux
- 1. Размещение файлов дистрибутива WP
- 2. Создание базы данных для WordPress
- 3. Конфигурация WP на сервере под Linux
- 4. Установка CMS WordPress
Основы Linux Server для начинающих
Данный материал посвящен основам операционной системе Linux сервер. Из данного материала Вы узнаете, почему стоит в качестве сервера использовать Linux, а также получите необходимые первоначальные знания, которые пригодятся Вам для начала работы с серверами на базе данной ОС.
Сначала поговорим, почему стоит использовать Linux в качестве серверной операционной системы. Многие так привыкли к Windows, что даже слышать про Linux не хотят, я имею в виду даже пользовательские варианты Linux с красивыми и удобными рабочими столами. И на вопрос, почему Вы не хотите использовать Linux? Все отвечают: «да он какой-то корявый!», «Программы, которые я использую в Windows не устанавливаются на Linux» и так далее. Но на самом деле всем пользователям, которые так категоричны к Linux, я хочу сказать, что Linux очень дружелюбная операционная система, и стоит всего лишь немного разобраться в ней и Вам все станет понятно.
Теперь я хочу перечислить некоторые преимущества Linux перед Windows, а также развеять некоторые мифы:
- Linux – абсолютно бесплатная операционная система (за исключением некоторых платных дистрибутивов), в отличие от Windows;
- В Linux практически отсутствуют вирусы;
- Все кто говорит, что «Программы, которые я использую в Windows не устанавливаются на Linux», Вы задумайтесь, а зачем они должны устанавливаться. Ведь это совсем другая ОС, там свои программы! Также можно сказать и про Windows, что «программы которые работают в Linux не устанавливаются в Windows», для Linux существуют много своих программ не уступающим Windows-ким, также многие производители программного обеспечения выпускают свои продукты как для Windows, так и для Linux.
- Linux более производительней, тем более серверный вариант операционной системы. Объясняю, серверные операционные системы Linux без интерфейсные, а большую часть ресурсов (больше половины. ) как раз занимает интерфейс ОС, т.е. визуальная оболочка (на сегодняшний день получили широкое распространение и версии Windows без графического интерфейса).
- ОС Linux практически не зависает, (я имею в виду саму операционную систему). Например, все встречались с ситуацией, когда в Windows у Вас все замирает, Вы не можете не пошевелить мышкой, даже ctrl+alt+del нажать не можете, и Вам приходиться перезагружаться. Linux устроена таким образом что такая ситуация исключена, разве что в одном случае когда Вы сами вызываете такую ситуацию.
- Касаемо серверной ОС Linux она достаточно проста в конфигурирование, в отличие от аналогов Windows, в которых очень много всяких разным прибомбасов, в которых не так легко разобраться. Сама система Linux и все ее службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы, зная их расположение и формат, Вы сможете настроить любой дистрибутив, даже если у Вас под рукой нет никаких инструментов, кроме текстового редактора.
Я не хочу популяризировать ОС Linux и каким-то образом принижать Windows, но в некоторых случаях лучшего варианта как использование операционной системы Linux не найти. До некоторого времени я тоже думал, что Linux это как-то по не нашему, а когда столкнулся с этой ОС, я был просто приятно удивлен.
Теперь перейдем непосредственно к основам Linux Server. Для примера мы будем использовать дистрибутив Linux Ubuntu Server 10.10.
Основные настройки Linux Server
Описывать процесс установки Ubuntu Server 10.10. я не буду, так как он не сложней, а может даже проще чем установка Windows, единственное, что попрошу сделать в процессе установки, это при «Выборе устанавливаемого программного обеспечения» отметить установку «OpenSSH Server». Это для того, чтобы Вы в дальнейшем могли подключаться к этому компьютеру удаленно с помощью ssh клиента (например, PuTTY). И при этом Вы будете иметь полный доступ к операционной системе с любого компьютера Вашей сети, так как к серверу обычно монитор не цепляют и сам сервер располагается в специально выделенной комнате для серверов (серверной).
В окне «Настройка учетных записей пользователей и паролей» введите свой логин и задайте ему пароль.
После установки Вы впервые загружаетесь, и перед Вашими глазами появляется консоль управления ОС. Для начала введите логин нажмите ввод, а потом пароль, для того чтобы войти в саму ОС. Вы войдете в систему под только что созданным пользователем, который не имеет права суперпользователя root.
Настройка пользователей в Linux
ROOT – стандартный суперпользователь ОС Linux, который имеет максимальные права. Кстати в отличие от Windows, в которой права администратора не самые высокие (есть еще системные), а вот права root самые высокие и если Вы работаете под root-ом и выполняете какие-либо действия, Вас никто не будет спрашивать «Вы действительно хотите сделать это?» как в Windows например, а сразу скажем, убьете систему, без всяких там вопросов. Но, так или иначе, нам сначала необходимо активировать этого пользователя, потому что в дальнейшем нам будут необходимы права суперпользователя (Совет: всегда работайте под обычным пользователем, пока не потребуется перейти в режим root-а), по умолчанию root отключен. Активация учетной записи root делается следующим образом, просто задаем пароль для root.
Система попросит вести пароль пользователя, под которым Вы работаете, а только потом Вы введете новый пароль для будущего root и повторите его.
Раз мы заговорили о пользователях, то давайте научимся создавать их. Делается это так.
- sudo – утилита, предоставляющая пользователю некоторые административные привилегии;
- useradd – утилита, добавляющая пользователя в систему;
- -d – опция установки домашней директории для пользователя;
- /home/testuser – путь домашней директории;
- -m – опция создания домашней директории;
- testuser – название нашего нового пользователя.
Теперь задаем пароль для нового пользователя.
Настройка сети в Linux
Теперь, когда мы немного разобрались с пользователями, нам необходимо настроить сеть, вполне возможно, что это уже сделал DHCP сервер, но быть может, Вы хотите задать статические ip адреса, адреса шлюзов и DNS (что в принципе для сервера естественно).
Для этого редактируем следующий файл.
- nano – это стандартный редактор linux;
- interfaces – файл, отвечающий за конфигурацию сети.
Открыв этот файл, Вы увидите примерно следующее, точнее он будет выглядеть так в конечном итоге, если Вам нужна статическая IP адресация на этом компе.
Здесь eth0 — это Ваше сетевое подключение, их может быть много в зависимости от того, сколько у Вас сетевых карт, Static говорит о том, что это статический ip адрес, если бы это был динамический, то вместо static было указанно DHCP. Ну а остальное, наверное, все понятно.
- Address – ip адрес компьютера;
- Netmask – маска подсети;
- Gateway — шлюз по умолчанию.
Сохраните файл путем нажатия сочетания клавиш ctrl+o и затем выходите из редактора ctrl+x.
Теперь необходимо присвоить DNS сервер, это делается путем редактирования следующего файла.
Впишите или измените следующее.
Где, 192.168.1.100 и 192.168.1.200 адреса наших DNS серверов, если у Вас только один dns сервер, то указывайте только одну строку.
Когда мы все настроили, требуется перезапустить наши сетевые интерфейсы, делается это следующим образом.
Установка программ в Linux Server
В Linux программы устанавливаются совсем по-другому, чем в Windows, поэтому те знания, которые Вы имели при работе с Windows, Вам здесь не помощники. В Linux все программное обеспечение хранится в Репозитариях – это своего рода хранилище пакетов программ специальных для Linux, которое располагается в Интернете, и находится в свободном онлайн распространении, или на компакт дисках. Для того чтобы обновить свои репозитарии (уже в установленной ОС Linux), Вам необходимо выполнить следующую команду (при условии, что у Вас подключен Интернет).
Теперь, когда мы обновили стандартные репозитарии можно что-нибудь установить, предлагаю установить файловый менеджер, один из самых распространенных в Linux это — Midnight Commander (MC). Есть небольшое сходство с FAR-ом, который используется в Windows. Программы в серверных Linux устанавливаются следующим образом.
Где, mc и есть наша программа, которую мы хотим установить, т.е. наш файловый менеджер Midnight Commander.
После установки можете испробовать данную программу, запускаются она просто, введите в консоли название программы, т.е. mc и нажмите ввод.
Я думаю для основы этого достаточно, в следующих статьях (Основные команды терминала Linux Ubuntu Server) будем уже разговаривать более конкретно про настройки каких-либо сервисов (демонов). А пока на этом все.
Источник
Как установить локальный сервер на Linux
Пошагово объясняем, как установить Xampp на Linux и настроить доступ для редактирования сайтов.
Под локальным сервером в веб-разработке обычно понимают набор ПО, которое позволяет запускать сайты на своём компьютере, реже — сам компьютер. Доступ к этим сайтам есть только на одном устройстве (потому-то он и локальный), но этого достаточно, чтобы программист мог всё протестировать.
Из этой статьи вы узнаете, как установить сервер на Linux.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Какой локальный сервер выбрать
На мой взгляд, лучший вариант — Lampp. Название этого локального сервера расшифровывается так:
- X или L — операционная система (X — общее название, L — Linux).
- A — Apache (HTTP-сервер).
- M — MySQL или MariaDB (система управления базами данных).
- P — PHP (скриптовый язык программирования).
- P — Perl (язык программирования).
Серьёзных альтернатив у Lampp нет. Это не критично, потому что у него есть большое сообщество, а обновления выходят регулярно. Из минусов можно отметить разве что отсутствие GUI (хотя для Linux это не недостаток).
Graphical user interface (GUI) — Графический интерфейс пользователя.
Установка Lampp
Команды из этой статьи протестированы на Ubuntu 19.04, но для других дистрибутивов действия будут аналогичными.
Для начала нужно скачать установочный файл с официального сайта.
После завершения загрузки откройте терминал и перейдите в папку со скачанным файлом.
Источник
Welcome
В результате файл “/var/www/sites/site1/index.html” будет содержать одну html-строку:
Welcome
3. Конфигурация Apache-сервера
Конфигурационные файлы сайтов находятся в каталоге “/etc/apache2/sites-available/”. Создадим конфигурационный файл для нового виртуального хоста взяв за основу конфигурацию по умолчанию из файла “000-default.conf”
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Откроем файл “site1.conf” и изменим параметр “DocumentRoot”. В качестве значения нужно указать путь к новому сайту, в нашем случае это “/var/www/sites/site1”
На данном этапе нам не требуется настройка одновременной работы нескольких сайтов, поэтому отключим сайт по умолчанию и включим новый сайт. Для применения изменений перезагружаем конфигурацию сервера.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Снова переходим по ссылке “http://[ip_адрес_сервера]” и убеждаемся, что вместо стандартной страницы приветствия отображается наша новая страница.
Настройка HTTP-сервера завершена, переходим к следующему этапу.
Настройка FTP-сервера
1. Установка
Устанавливаем ftp-сервер и дополнительный пакет “db-util”, который потребуется для настройки виртуальных пользователей.
apt install vsftpd db-util
2. Создание локальной учетной записи
Сервер vsftpd позволяет очень гибко настраивать права доступа. Для решения наших задач ftp-пользователям необходимо обеспечить следующие возможности:
- полный доступ к содержимому директории “/var/www/sites/”;
- невозможность выхода за пределы директории “/var/www/”;
- подключение с использованием виртуальной учетной записи;
Создадим локальную учетную запись “virtual” без возможности входа в систему, с домашней директорией “/var/www/”. Эта учетная запись будет использоваться для подключения виртуальных ftp-пользователей.
useradd -d /var/www virtual
По умолчанию, владельцем директории “/var/www” является “root”. Для того, того, чтобы ftp-пользователи могли изменять содержимое сайтов, изменим владельца каталога “/var/www/sites/”, включая вложенные папки на “virtual”.
chown -R virtual:root /var/www/sites
В результате изменения прав, пользователь “virtual” сможет просматривать содержимое каталога “/var/www/” и записывать во вложенный каталог “/var/www/sites/”
3. Конфигурация
Основная конфигурация хранится в файле “/etc/vsftpd.conf”, приводим его к следующему виду:
#Включаем виртуальных пользователей
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#Настраиваем права
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#задаем параметры запуска
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Создание базы данных
База данных необходима для хранения виртуальных учетных записей.
Предварительно создадим в домашнем каталоге простой текстовый файл “users.txt” и запишем логины и пароли виртуальных пользователей в чередующиеся строки. Например нам нужен виртуальный пользователь с логином “ftp” и паролем “Qwe123”, тогда содержимое файла будет таким:
Создаем базу данных
db_load -T -t hash -f
Меняем стандартное содержимое PAM файла “/etc/pam.d/vsftpd” на следующие строки.
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Обратите внимание, что в различных дистрибутивах расположение библиотеки “pam_userdb.so” может отличаться, при необходимости путь к файлу нужно скорректировать.
Для применения изменений перезагружаем vsftpd сервер.
systemctl restart vsftpd
Настройка FTP-сервера завершена.
Данные для подключения:
- ftp://[ip_адрес_сервера]
- Логин: ftp
- Пароль: Qwe123
Настройка PHP-сервера
1. Установка
На текущий момент последней стабильной версией PHP является php 7.4.5, которая отсутствует в официальных репозиториях Ubuntu. Подключим сторонний репозиторий и установим последнюю версию PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Проверка
Для того, чтобы PHP код мог быть исполнен, файл веб страницы должен иметь расширение “.php”. Переименовываем тестовою страницу
cd /var/www/sites/site1/
mv index.html index.php
Добавляем в файл “/var/www/sites/site1/index.php” строку php-кода. В результате содержимое файла будет таким:
Welcome
Сохраняем изменения и проверяем результат в браузере.
Если вы видите результат работы функции “phpinfo()”, значит интерпретатор PHP работает корректно. Приступаем к следующему этапу.
Настройка MySQL (MariaDB)
1. Установка
Устанавливаем MariaDB и PHP-модуль для работы с MySQL, после завершения установки перезагружаем Apache
apt install mariadb-server php-mysql
systemctl restart apache2
Для проверки обновим тестовую страницу и в таблице с конфигурацией PHP и перейдем к разделу PDO. Наличие секции “PDO_mysql” говорит о корректной установке драйвера для работой с базой данных Mysql.
Для дальнейшей работы необходимо выполнить первоначальную настройку безопасности MariaDB, во время которой для пользователя “root” устанавливается пароль, запрещается удаленный вход и удаляются гостевые учетные записи.
На первом шаге необходимо ввести пароль пользователя «root» для входа в СУБД или нажать Enter, если пароль не задан. Так как после установки учетная запись «root» не имеет пароля, нажимаем “Enter”.
Обратите внимание, что в MariaDB существуют собственные учетные записи, которые не имеют отношения к учетным записям операционной системы. Речь идет о пользователе «root» в MariaDB.
Далее конфигуратор предложит задать пароль для пользователя root, нажимаем “y” для подтверждения и вводим новый пароль, в нашем случае “Qwe123”
На все последующие запросы просто нажимаем “y” до окончания настройки.
Данные для входа в MariaDB:
Настройка phpMyAdmin
1. Установка
Устанавливаем обязательное PHP-расширение mbstring.
apt install php-mbstring
В официальном репозитории размещена устаревшая версия phpMyAdmin, поэтому выполним установку в ручном режиме.
Заходим на официальный сайт проекта “https://www.phpmyadmin.net/” и скачиваем архив актуальной версии.
Копируем архив на сервер в каталог “/var/www/sites/” используя любой ftp-клиент.
Распаковываем архив, и для удобства, переименовываем извлеченную папку в “phpMyAdmin”. Для распаковки zip-архива предварительно установим утилиту “unzip”. После распаковки архив можно удалить.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Создаем папку “/var/www/sites/phpMyAdmin/tmp” для хранения временных файлов с полными доступом для всех. Если этого не сделать phpMyAdmin сообщит об отсутствии доступа в временной папке.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Создание псевдонима
Так как phpMyAdmin не является отдельным виртуальным хостом и находится за пределами корневой директории сайта, настроим псевдоним для возможности доступа.
Открываем файл “/etc/apache2/mods-available/alias.conf” и вставляем строку
Alias /pma “/var/www/sites/phpMyAdmin»
Перезагружаем конфигурацию Apache для применения изменений.
systemctl reload apache2
Псевдоним настроен. Сейчас мы можем входить в phpMyAdmin по ссылке “http://[ip_адрес_сервера]/pma”
3. Подготовка базы данных
Так как при первоначальной настройке MariaDB мы запретили использование учетной записи root для удаленного подключения, необходимо создать новую учетную запись с полными правами, которая будет использоваться для входа в phpMyAdmin.
Кроме того, для работы дополнительных функций phpMyAdmin необходима служебная база данных и учетная запись для доступа к ней.
Создадим учетные записи
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO ‘pma’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO ‘pmaservice’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH grant option;
Обратите внимание, что имя базы данных во втором запросе заключено в обратные апострофы: “… ON `phpmyadmin`.* TO ‘pma’@’localhost’ IDENTIFIED BY …”,
В результате в MariaDB будет создано две учетные записи:
- Логин: pma, пароль: Qwe123
Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin - Логин: pmaservice, пароль:Qwe123
Служебная учетная запись необходимая для работы дополнительных функций.
На следующем шаге эти учетные данные должны быть указаны в конфигурационном файле “config.inc.php”
Далее необходимо импортировать базу данных из файла “phpMyAdmin/sql/create_tables.sql”. Выполним импорт средствами phpMyAdmin.
Открываем браузер и переходим по ссылке “http://[ip_адрес _сервера]/pma”
Вводим логин “pma”, пароль “Qwe123”
Переходим на вкладку “Импорт”, нажимаем кнопку “Выберите файл” и выбираем файл ”sql/create_tables.sql” в корневой директории phpMyAdmin. Предполагается что на локальном компьютере существует папка с файлами “phpMyAdmin”, если необходимо, распакуйте архив.
Для завершения импорта нажимаем кнопку “Вперед”.
4. Конфигурация
Копируем файл конфигурации из шаблона
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Открываем конфигурационный файл “/var/www/sites/phpMyAdmin/config.inc.php” и вносим следующие изменения:
- Задаем произвольное значение длиной 32 символа для параметра “$cfg[‘blowfish_secret’]”. Можно воспользоваться любым генератором паролей.
- Снимаем комментарии со всех строк раздела “phpMyAdmin configuration storage settings” и указываем для параметров “controluser” и “controlpass” логин и пароль служебной учетной записи MariaDB, созданной на предыдущем шаге. В нашем случае логин — pmaservice, пароль — Qwe123
Сохраняем изменения. Настройка завершена.
Данные для входа в phpMyadmin:
- http://[ip_адрес_сервера]/pma/
- Логин: pma
- Пароль: Qwe123
Установка и настройка WordPress на сервер Linux
1. Размещение файлов дистрибутива WP
Заходим на официальный сайт “https://ru.wordpress.org/” и скачиваем архив на локальный компьютер.
Загружаем архив на сервер в каталог “/var/www/sites/” и распаковываем, файлы будут извлечены в папку “wordpress”.
Копируем содержимое папки “/var/www/sites/wordpress/” в корневую директорию сайта “/var/www/sites/site1/”
Так как копирование файлов выполнялось из консоли с root-правами еще раз изменяем владельца каталога “/var/www/sites/”, включая содержимое на virtual. Это нужно для восстановления полного доступа при подключении через ftp-клиент.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Создание базы данных для WordPress
Входим в PHPMyAdmin и нажимаем “Создать БД”. Указываем произвольное имя базы данных, в нашем случае “wordpress_db” и нажимаем кнопку “Создать”.
Выделяем в левой части окна созданную БД и нажимаем кнопку “Привилегии”
Далее нажимаем “Добавить учетную запись пользователя”.
В открывшемся окне вводим логин и пароль (wpservice / Qwe123), помечаем опцию “Предоставить все привилегии в базе данных wordpress_db” и нажимаем кнопку “Вперед”
На следующей странице нажимаем “Отметить все” для установки всех привилегий уровня базы данных и нажимаем “Вперед”.
3. Конфигурация WP на сервере под Linux
Переходим в корневую директорию сайта и копируем из шаблона конфигурационный файл.
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Открываем файл “wp-config.php” и вводим параметры подключения к базе данных, созданной на предыдущем шаге и сохраняем изменения.
4. Установка CMS WordPress
Открываем браузер и переходим по ссылке “http://[ip_адрес_сервера]/wp-admin/install.php”
Заполняем предложенные поля и нажимаем “Установить WordPress” Имя пользователя и пароль указываем произвольные, в нашем случае логин — wpadmin, пароль — Qwe123
Эти учетные данные будут использоваться для входа в WordPress.
После завершения установки переходим по ссылке “http://[ip_адрес_сервера]/wp-login.php”, вводим учетные данные, указанные на предыдущем шаге и входим в WordPress
На главной странице сайта будет отображаться один из шаблонов WordPress
Данные для входа в WordPress:
Источник