Меню Рубрики

Установка lamp для fedora

Vladimir Drach. Official Web-Site. — Личный сайт Владимира Драча

Установка LAMP на Fedora 20

Понедельник, 06 Октябрь 2014 00:00

Рассматривается установка веб-окружения на Linux, дистрибутив Fedora 20 на базе Apache 2, PHP 5 и MySQL 5 .

LAMP является аббревиатурой Linux+Apache+MySQL+PHP. Эта статья описывает, как установить веб-сервер Apache2 на Fedora 20 с поддержкой PHP5 (mod_php) и MySQL.

1 Предварительные замечания

Предполагается, что на нашей машине статический IP — адрес 10.4.0.10 . Настройки в вашем случае могут отличаться, поэтому замените их на свои, где это необходимо.

2 Установка MySQL/MariaDB 5

Для установки MySQL запустите yum со следующими параметрами:

Затем создадим ссылку на автозапуск MySQL (MySQL будет загружаться автоматически при старте системы) и запустим MySQL-сервер:

Замечание: если у вас появилась ошибка:

Failed to issue method call: No such file or directory

Далее запустим службу mysql

Зададим пароль для администратора(иначе все смогут получить доступ к вашим базам данных MySQL!):

Далее для входа в MariaDB нам потребуется ввести пароль администратора, для остальных вопросов просто нажимаем enter.

3 Установка Apache2

Apache2 доступна в виде установки пакета Fedora, поэтому для установки запустим yum со следующими параметрами:

Теперь добавим Apache в автозагрузку при старте системы:

Теперь перейдём по следующему адресу http://10.4.0.10. Нам откроется стандартная страница-пустышка Apache, что говорит о том, что наши предыдущие действия увенчались успехом.

В Fedora корневая папка аpache (в которой должна располагаться совокупность файлов сайта) находится по адресу: /var/www/html , а файл конфигурации находится: /etc/httpd/conf/httpd.conf. Дополнительная конфигурация находится в директории /etc/httpd/conf.d/.

4 Установка PHP5

Для установки PHP5 и Apache запустим yum со следующими параметрами:

Затем перезапустим Apache:

5 Настройка PHP

Процесс настройки PHP подробно описан в отдельной статье.

Если при вызове phpinfo при настройке PHP мы видим отсутствие информации о MySQL, то становится очевидно, что MySQL ещё не поддерживается в PHP5.

6 Поддержка MySQL

Во-первых, установим php-mysql. Нет смысла устанавливать другие модули PHP5, если они вам не требуются для ваших приложений. Для установки запустим yum со следующими параметрами:

Выберем необходимые пакеты для установки:

Теперь перезапустим Apache:

Перезагрузим http://10.4.0.10/info.php и посмотрим раздел подключенных модулей. Мы должны найти в числе подключенных модулей и MySQL.

7 phpMyAdmin

Установка и настройка phpMyAdmin подробно описаны в данной статье.

8 Финал

Всё готово, перезапустим Apache:

Теперь phpMyAdmin доступна по адресу :http:// 10.4.0.10 /phpmyadmin/.

Пришло время разворачивать сайты на нашей новой площадке!

источник

Предложение от 8host.com

Установка стека LAMP на Fedora 22

Что такое LAMP stack?

LAMP stack – это группа открытых программ для настройки и запуска веб-сервера. Данный акроним расшифровывается как Linux, Apache, MySQL и PHP.

Поскольку сервер использует операционную систему Fedora 22, которая является дистрибутивом Linux, первый компонент группы уже установлен. Ниже показано, как установить остальные программы.

Требования

Для выполнения инструкций нужно предварительно настроить сервер Fedora 22.

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

Примечание: dnf – аналог yum, стандартный менеджер пакетов системы Fedora 22.

1: Установка Apache

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

Чтобы установить Apache, откройте терминал и введите команду:

После завершения установки запустите Apache:

sudo systemctl start httpd.service

Теперь веб-сервер Apache установлен и готов к работе. Чтобы убедиться в этом, откройте в браузере IP-адрес своего сервера (например, http://12.12.12.123). На экране должна появиться стандартная страница Fedora Test Page.

Как узнать IP-адрес сервера?

Чтобы узнать IP-адрес своего сервера, используйте команду:

ifconfig eth0 | grep inet | awk ‘< print $2 >‘

2: Установка MySQL

MySQL/MariaDB – производительная система управления базами данных (СУБД), необходимая для систематизации, хранения и извлечения данных на виртуальном сервере.

Чтобы установить MySQL, введите в терминал следующую команду:

sudo dnf install mysql mysql-server
sudo systemctl start mariadb.service

После завершения установки установите root-пароль для MySQL:

Программа запросит текущий пароль, но его нет, поскольку это свежая установка MySQL, потому просто оставьте поле незаполненным.

Enter current password for root (enter for none):
OK, successfully used password, moving on.

После этого программа предложит установить root пароль. Нажмите Y и следуйте инструкциям.

Fedora автоматизирует процесс установки MySQL, задавая пользователю ряд вопросов.

Чтобы принять настройки по умолчанию, введите Yes на все вопросы. В конце установки MySQL перезапустится, чтобы обновить настройки.

Читайте также:  Установка вентиляторов охлаждения системного блока

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
. Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
. Success!
By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
— Dropping test database.
. Success!
— Removing privileges on test database.
. Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
. Success!
Cleaning up.
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

3: Установка PHP

PHP – это открытый серверный язык сценариев для быстрой разработки динамических веб-страниц.

Чтобы установить PHP, введите в терминал следующую команду:

sudo dmf install php php-mysql

Подтвердите запуск команды, после чего PHP будет установлен на сервер.

Модули PHP

PHP предоставляет множество полезных библиотек и модулей, которые можно добавить на сервер. Чтобы просмотреть доступные библиотеки, введите:

Терминал покажет список доступных модулей, который начинается так:

php-fpdf-doc.noarch : Documentation for php-fpdf
php-libvirt-doc.noarch : Document of php-libvirt
php-pear-Auth-radius.noarch : RADIUS support for php-pear-Auth
php-pear-Auth-samba.noarch : Samba support for php-pear-Auth
ice-php-devel.i686 : PHP tools for developping Ice applications
ice-php-devel.x86_64 : PHP tools for developping Ice applications
perl-PHP-Serialization.noarch : Converts between PHP’s serialize() output and
: the equivalent Perl structure
php-IDNA_Convert.noarch : Provides conversion of internationalized strings to
: UTF8
php-Kohana.noarch : The Swift PHP Framework
php-LightweightPicasaAPI.noarch : A lightweight API for Picasa in PHP
php-PHPMailer.noarch : PHP email transport class with a lot of features
php-Smarty.noarch : Template/Presentation Framework for PHP
php-ZendFramework.noarch : Leading open-source PHP framework
php-ZendFramework-Auth-Adapter-Ldap.noarch : Zend Framework LDAP
: Authentication Adapter
php-ZendFramework-Cache-Backend-Apc.noarch : Zend Framework APC cache backend

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

dnf info name of the module

Чтобы установить модуль, введите команду:

sudo dnf install name of the module

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

Итак, установка стека LAMP завершена!

Настройте автозапуск программ при загрузке сервера:

sudo chkconfig httpd on
sudo chkconfig mariadb on

Примечание: PHP автоматически запускается вместе с Apache.

4: Тестирование установки

В завершение необходимо убедиться, что все компоненты стека установлены успешно. Для этого можно создать быструю страницу php info.

Примечание: Установите текстовый редактор nano, если он не был установлен ранее:

Чтобы создать новый файл, введите:

sudo nano /var/www/html/info.php

Внесите в него следующий код:

Сохраните и закройте файл.

Перезапустите Apache, чтобы обновить настройки виртуального сервера:

sudo systemctl restart httpd.service

Затем откройте страницу в браузере. Она доступна по ссылке:

Если всё было выполнено должным образом, на экране появится страница, предоставляющая информацию о php.

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

источник

Установка и настройка LAMP (Linux, Apache, MariaDB, PHP) в Fedora

Где-то на заре этого сайта я писал о том, как устанавливать и настраивать LAMP в Ubuntu. Там установка всего этого хозяйства была плевым делом, но Fedora — это другое…

Почти все команды, используемые в статье, нужно выполнять от пользователя root.

Установка Apache

Apache находится в пакете:

После установки его нужно запустить и включить в автозагрузку:

systemctl start httpd.service systemctl enable httpd.service

Проверим работоспособность, набрав в браузере адрес localhost. В случае успеха вы увидите тестовую страницу Fedora, а в случае ошибки ничего не увидите.

Установка PHP

По зависимости был установлен пакет php-cli. Он позволяет запускать PHP-код в командной строке. С его помощью мы можем протестировать работу PHP, «не отходя от кассы». Открываем «Терминал», вводим и запускаем следующее:

Читайте также:  Установка винтовых свай одинцово

В ответ получим информацию о PHP, если, конечно, установка прошла успешно.

Установка MariaDB

phpMyAdmin — программа для администрирования БД. Запуск и автозагрузка MariaDB:

systemctl start mysqld.service systemctl enable mysqld.service

Назначить новый пароль на root-аккаунт можно командой:

mysqladmin -u root password ваш-пароль

Также рекомендуется произвести более глубокую настройку БД с помощью команды:

Настройка Apache. Использование виртуальных хостов, основанных на имени

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

Для начала сделаем виртуальные хосты (адреса сайтов, если хотите), на которых будут работать будущие сайты. Хосты хранятся в файле hosts (/etc/hosts). Добавим туда приблизительно следующее содержание:

127.0.0.1 имя-вашего-сайта имя-другого-сайта

Теперь свяжем адреса и файлы, которые будут там работать. Для этого создадим файл /etc/httpd/conf.d/vhosts.conf (название может быть любым, а вот расширение — только conf). Добавим в него следующие строки:

NameVirtualHost 127.0.0.1:80 ServerName localhost AddDefaultCharset utf-8 127.0.0.1:80 > DocumentRoot /любой-каталог/ имя-вашего-сайта ServerName имя-вашего-сайта 127.0.0.1:80 > DocumentRoot /любой-каталог/ имя-другого-сайта ServerName имя-другого-сайта

NameVirtualHost — обязательная директива для использования виртуальных хостов, основанных на имени. В качестве параметра указывается IP-адрес, на который сервер будет получать запросы. В нашем случае — это локальный компьютер .

AddDefaultCharset — устанавливает кодировку по умолчанию. В нашем случае UTF-8 (везде и всегда надо использовать UTF-8).

VirtualHost — контейнер, в котором хранятся директивы для определенного IP-адреса или хоста. В нашем случае IP-адрес должен совпадать с тем, который указан в директиве NameVirtualHost.

DocumentRoot — каталог, файлы из которого сервер будет использовать при ответе на запрос. Там, например, могут быть файлы WordPress, Drupal либо ваши собственные скрипты.

ServerName — имя сервера. Должно соответствовать тому, которое записано в файле /etc/hosts.

Apache mod_rewrite

Мод работает «из коробки», но настройки сервера не позволяют использовать его прямо сейчас. Для исправления ситуации открываем и правим главный файл конфигурации Apache — /etc/httpd/conf/httpd.conf. Меняем:

Таким образом мы разрешаем использовать любые директивы где угодно, то есть mod_rewrite заработал. Чтобы все наши изменения вступили в силу, перезапускаем сервер командой:

systemctl restart httpd.service

Политики SELinux

Хотя мы установили и настроили все, работать ничего не будет. Дело в том, что Fedora использует SELinux — нечто вроде дополнительного контроля доступа. Раньше, начиная с этого места, был длинный текст с разными командами и описаниями, но проще выключить весь этот SELinux. Ничего страшного в этом нет.

Права на папку с нашим профилем

Это последнее действие, которое надо сделать. Изменим права с 700 на 711, чтобы Apache мог получить доступ к файлам, которые лежат в папке нашего профиля:

источник

elemc blog

I’ll speak to him again. What do you read, my lord?

httpd + php + mysql (LAMP) в Fedora для разработчика PHP

В jabber-конференцию часто приходят люди и очень часто стоит вопрос — развернуть LAMP, но не просто так, а еще и с пользовательскими каталогами, чтобы можно было на PHP писать.
Все упираются в какие-то древние инструкции, где неизменно предлагают отключить SELinux.
Я против, давайте настроим все это не выключая SELinux, максимально просто и правильно в Fedora Linux.

Установка

  • httpd — сам apache;
  • mariadb — это сервер mysql;
  • php — название само за себя говорит;
  • php-mysqlnd — модуль php для mysql;

Настройка mysqld (mariadb)

а затем запускаем от root команду, чтобы настроить сервер:

Enter current password for root (enter for none) — введите текущий пароль для пользователя root или нажмите Enter, если он пустой.
Конечно нажимаем Enter, у нас не установлен еще пароль.
Set root password? [Y/n]
Я отвечаю Y (т.е. да) и ставлю на текущий пароль системного пользователя root.
Remove anonymous users? [Y/n]
Удаляем анонима? Я удаляю, а зачем мне анонимный пользователь 🙂
Disallow root login remotely? [Y/n]
Отключаем возможность root’у заходить по сети.
Если сервер на домашней машинке разворачивается в парниковых условиях домашней сети, то не вижу смысла говорить «Да».
А вот если это какой-нить vps/vds, тогда да, отключить надо обязательно.
Remove test database and access to it? [Y/n]
Отключаем тестовые базы данных и доступ к ним. Конечно отключаем.
Reload privilege tables now? [Y/n]
Перезагрузить таблицу привелегий сейчас. Конечно да.
Так мы закончили вводную настройку mysql (mariadb).

Читайте также:  Установка заглушек на газопроводе под давлением

httpd

Проверяем

Проверим базовую настройку.
Создадим тестовый файл для проверки apache+php:

и проверим, зайдя через браузер.
Если это локальный компьютер, то адрес выглядит так: http://localhost/test.php.
Должна появится страничка с информацией о PHP.
Что-то вроде этой:

Если такой странички не появилось, значит что-то сделал(а) не так. Надо смотреть логи и лечить.
Все. Таким образом у нас уже есть «теплый LAMP’овый» сервер.

Пользовательские каталоги

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

Вот оригинальное содержимое файла /etc/httpd/conf.d/userdir.conf:

user request is received.
#
# The path to the end user account ‘public_html’ directory must be
# accessible to the webserver userid. This usually means that

userid
# must have permissions of 711,

userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a «403 Forbidden» message.
#

#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
UserDir disabled

user/ to serve the user’s public_html
# directory, remove the «UserDir disabled» line above, and uncomment
# the following line instead:
#
#UserDir public_html

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#

AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS

Если внимательно вчитаться в комментарии этого файла, то почти все становится понятно сразу.
Комментируем строку №16 — отключаем отключение самой возможности UserDir.
Убираем комментарий в строке №23 — указываем название каталога «хомяке».
И после предпоследней строки №33 мы добавим еще одну строчку:

Она разрешит httpd «отдавать» каталоги пользователям.

В общем и целом файл должен после нас выглядеть так:

user request is received.
#
# The path to the end user account ‘public_html’ directory must be
# accessible to the webserver userid. This usually means that

userid
# must have permissions of 711,

userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a «403 Forbidden» message.
#

#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
# UserDir disabled

user/ to serve the user’s public_html
# directory, remove the «UserDir disabled» line above, and uncomment
# the following line instead:
#
UserDir public_html

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#

AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
Require all granted

Сохраняем файл.
Перезапускаем httpd командой от root’а:

С этого момента договоримся, что нашего пользователя зовут IMUSER, просто меняйте это слово на название своего пользователя.

Создаем пользовательский каталог (конечно команду надо выполнить от пользователя):

Теперь займемся разрешениями.
Сперва разрешим демону httpd смотреть в каталог пользователя (от root’а):

Эта команда включит флаги «x» (для каталогов это флаг просмотра каталога) для группы и прочих.

Теперь включим разрешения SELinux (также от root’а):

Эта команда разрешает демону httpd читать содержимое в пользовательских каталогах. И разрешает работу с ними вообще для httpd.

Ну и в заключении — проверим работу пользовательских каталогов все на том же простеньком файлике.
Выполняем от пользователя:

Проверяем.
Нам надо зайти по адресу: http://localhost/

IMUSER/test.php
Я специально не делаю этот адрес ссылкой. Помнишь еще о соглашении? 😉

Напоследок

Тут я записываю то, что не вошло в текст статьи, но может быть полезно или просто помочь.

Включаем автозапуск служб httpd и mariadb (mysql):

SELinux’у может не понравится попытка соединения httpd с подозрительной базой данных по сети (можно еще через сокет, это SELinux не блокирует).
«Лечится» это включением соответствующего флажка SELinux (от root’а):

Очень много полезного есть в man-страницах:
man httpd_selinux
man mysqld_selinux
Надо только установить пакет selinux-policy-devel

Я буду рад дополнить и/или изменить статью.
Комментарии, как всегда, приветствуются.

источник

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