Директория для php linux

Содержание
  1. как установить пхп в кастомную директорию?
  2. В какой папке PHP хранит расширения.
  3. Re: В какой папке PHP хранит расширения.
  4. Re: В какой папке PHP хранит расширения.
  5. Re: В какой папке PHP хранит расширения.
  6. Re: В какой папке PHP хранит расширения.
  7. Re: В какой папке PHP хранит расширения.
  8. Директория для php linux
  9. Версии PHP в Ubuntu
  10. Варианты использования PHP
  11. Модуль для Apache
  12. Установка
  13. Настройка
  14. Проверка работы
  15. php-fpm
  16. Установка
  17. Настройка
  18. Установка
  19. Настройка
  20. PHP расширения
  21. Установка
  22. Настройка
  23. Установка других версий PHP
  24. Welcome
  25. Welcome
  26. 3. Конфигурация Apache-сервера
  27. Настройка FTP-сервера
  28. 1. Установка
  29. 2. Создание локальной учетной записи
  30. 3. Конфигурация
  31. 4. Создание базы данных
  32. Настройка PHP-сервера
  33. 1. Установка
  34. 2. Проверка
  35. Welcome
  36. Настройка MySQL (MariaDB)
  37. 1. Установка
  38. Настройка phpMyAdmin
  39. 1. Установка
  40. 2. Создание псевдонима
  41. 3. Подготовка базы данных
  42. 4. Конфигурация
  43. Установка и настройка WordPress на сервер Linux
  44. 1. Размещение файлов дистрибутива WP
  45. 2. Создание базы данных для WordPress
  46. 3. Конфигурация WP на сервере под Linux
  47. 4. Установка CMS WordPress

как установить пхп в кастомную директорию?

у меня сейчас в федоре стоит 5.3 из репозитория в /usr/bin/php
и 5.2.17-dev — руками поставлен в /opt/php52/bin/php

но я забыл как его туда ставил
сейчас скачал версию 5.2 посвежее — если я просто сделаю make install — она встанет на место 5.3?

./configure —prefix=/opt/php52/
make install

но, скомпилировав с параметрами

./configure —with-config-file-path=/usr/local/lib/php.ini —with-apxs2=/usr/sbin/apxs —with-mysql=/usr/local/mysql —disable-debug —without-pear —without-sqlite —without-gdbm —with-iconv —with-openssl —enable-ftp —enable-sockets —with-kerberos —with-imap=shared —with-imap-ssl —enable-mbstring=shared —enable-mbregex —with-gd=shared —enable-dom=shared —with-curl=shared,/usr —enable-fastcgi —enable-pdo=/usr/local —with-mysql=/usr/bin/mysql —with-pdo-mysql=/usr/bin/mysql —enable-json=shared —without-pdo-sqlite —disable-xmlreader —prefix=/opt/php52

я во-первых не смог установить (sudo make install) — как и раньше он повис на изменении прав: chmod 755 /usr/lib/httpd/modules/libphp5.so

и к тому же в папках нигде нет php или php-cgi (мне нужен второй)
мб потому что я качал http://snaps.php.net/php5.2-201101261730.tar.bz2 ?

> нигде нет php или php-cgi (мне нужен второй)

с разными SAPI php собирается отдельно
поставили mod_php (make install)

сделали очистку — make distclean
еще раз configure с нужным SAPI

—enable-cli ( php )
—enable-cgi ( php-cgi )

желательно еще задавать разный путь к конфигам для разных SAPI
через —with-config-file-path= и папку для расширений ( или не задавать shared расширений для cli, пусть себе собирает все в один бинарник )

make && make install

там задается не полный путь к php.ini а путь к каталогу, где лежит php.ini , если у вас —prefix=/opt/php52 , то и путь лучше задавать в пределах этого же каталога, чтобы не путаться

огромное спасибо. буду разбираться

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

сделал make distclean

поправил путь к php.ini
добавил —enable-cgi
добавлен префикс для установки —prefix=/opt/php52

./configure —with-config-file-path=/usr/local/lib/ —with-apxs2=/usr/sbin/apxs —with-mysql=/usr/local/mysql —disable-debug —without-pear —without-sqlite —without-gdbm —with-iconv —with-openssl —enable-ftp —enable-sockets —with-kerberos —with-imap=shared —with-imap-ssl —enable-mbstring=shared —enable-mbregex —with-gd=shared —enable-dom=shared —with-curl=shared,/usr —enable-fastcgi —enable-pdo=/usr/local —with-mysql=/usr/bin/mysql —with-pdo-mysql=/usr/bin/mysql —enable-json=shared —without-pdo-sqlite —disable-xmlreader —prefix=/opt/php52 —enable-cgi

конфигурируется, компилируется, но на make install также затыкается:

[user@localhost php5.2-201101251330]$ sudo make install

Installing PHP SAPI module: apache2handler
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL=’/usr/lib/apr-1/build/libtool’ libphp5.la /usr/lib/httpd/modules
/usr/lib/apr-1/build/libtool —mode=install cp libphp5.la /usr/lib/httpd/modules/
libtool: install: cp .libs/libphp5.so /usr/lib/httpd/modules/libphp5.so
libtool: install: cp .libs/libphp5.lai /usr/lib/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool —finish /home/user/downloads/php5.2-201101251330/libs’
chmod 755 /usr/lib/httpd/modules/libphp5.so

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

почему make install зависает на строке «chmod 755 /usr/lib/httpd/modules/libphp5.so»?

ставил 777 на файл заранее — не помогло

скорее всего make install не может заменить файл, т.к. он используется запущенным апачем. не знаю какие еще могут быть варианты.
chmod на него впрочем должен пройти в любом случаея

я останавливал апач
он на машине один

а можно ли убрать эту строчку из сценария установки?
где её найти?

можно попробовать установить вот так

make install DESTDIR=/tmp/newphp

там понадобится копия httpd.conf, чтобы его изменил инсталлер
( допустим он у вас в /etc/httpd/httpd.conf , копируете в /tmp/newphp/etc/httpd/httpd.conf )

а с каталога /tmp/newphp можете уже скопировать вручную все файлы какие нужны, куда надо.

Makefile
возможно в подкаталоге

не могу найти в Makefile эту строку

ищу по «755» и нахожу только 2 места, которые близко на неё не похожи

Читайте также:  Windows storage spaces with ssd

как грамотно удалить полностью с компа php5.2.17 из /opt/php52 ?
так чтобы при этом не задеть 5.3

удаляете целиком то что насобирали
там все в пределах префикса ставится, кроме mod_php5.so
и того что указали внешнего

Источник

В какой папке PHP хранит расширения.

Не могу понять в какой папке хранятся расширения.

Может в этой. /usr/local/lib/php/extensions

Как найти эту папку. и что в ней должно быть.

там должны быть файлы *.dll

А то я в своем php.ini включаю расширения, а эффекта ноль 🙂

Re: В какой папке PHP хранит расширения.

Ламер, dll это в Windows 😉

Re: В какой папке PHP хранит расширения.

По умолчанию, кажется, в /usr/local/lib. А вообше тебе, по хорошему, надо PHP пересобрать, указав при конфигурировании все необходимые расширения. Давай мыло и я зашлю один док, руководствуясь которым, не далее как вчера я это сам делал.

Re: В какой папке PHP хранит расширения.

в php.ini директива extension_dir

Re: В какой папке PHP хранит расширения.

> php.ini директива extension_dir

r_asian вышли на chernik@land.ru Спб

> Ламер, dll это в Windows 😉

Я не виноват что все админы укатили на юга 🙂 А я теперь сиди дуйся за них. Я вообще-то программист, а не администратор 🙂 И кроме Win + NotePad + Zend + FireFox IE Opera ничего не знаю 🙁

Да я это уже понял что в Linux’e нет .dll меня просто смутило что в php.ini были .dll Зачем они там нужны если я PHP на Linux ставлю или получается что PHP.INI един и для Lin и для Win

Re: В какой папке PHP хранит расширения.

истинно — один. и опции одни и те-же. различается написание путей к разным объектам и типизация (dll, exe . ) отсутствует практически как класс. 🙂 имеют место быть традиции и стандарты именования модулей.

Источник

Директория для php linux

Версии PHP в Ubuntu

Варианты использования PHP

Модуль для Apache

Установка

Для установки выполните:

Настройка

Проверка работы

В директории /var/www/html (или в корне любого другого виртуального хоста) создайте файл test.php и запишите в него следующую строку:

Теперь попробуйте в своем браузере перейти на созданную страницу http://localhost/test.php. Если вы видите описание установленного PHP , значит вы все настроили правильно.

php-fpm

Установка

Для установки выполните:

Настройка

CLI (интерпретатор командной строки) предоставляет возможность разрабатывать консольные приложения на PHP .

Установка

Для установки выполните:

Настройка

Файлы настройки CLI располагаются в директории /etc/php/7.0/cli . Данная директория содержит:

PHP расширения

Установка

Подключение расширения GD:

Подключение расширения MySQL:

Подключение расширения Mcrypt:

Настройка

Файлы настроек доступных расширений располагаются в директории /etc/php/7.0/mods-available . У каждого варианта запуска интерпретатора существует своя директория conf.d в которой находятся символьные ссылки на активные расширения.

Установка других версий PHP

1. Посмотрите список установленных пакетов PHP для удаления ненужных:

2. Добавьте PPA в список репозиториев:

3. Установите вашу версию PHP .

Пример установки некоторых модулей для PHP версии 5.6:

Источник

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/”;
  • подключение с использованием виртуальной учетной записи;
Читайте также:  Cat jumps out windows

Создадим локальную учетную запись “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 не является отдельным виртуальным хостом и находится за пределами корневой директории сайта, настроим псевдоним для возможности доступа.

Читайте также:  Удалить источники событий windows

Открываем файл “/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 будет создано две учетные записи:

  1. Логин: pma, пароль: Qwe123
    Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin
  2. Логин: 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” и вносим следующие изменения:

  1. Задаем произвольное значение длиной 32 символа для параметра “$cfg[‘blowfish_secret’]”. Можно воспользоваться любым генератором паролей.
  2. Снимаем комментарии со всех строк раздела “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:

Источник

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