Php debian установка: Установка и настройка Apache+PHP+Mysql в Debian
Установка PHP и модулей на Ubuntu/Debian
PHP
В Debian и Ubuntu есть несколько вариантов работы php: как модуль apache и как php-fpm. Первый вариант удобен тем, кому придется использовать не только сам PHP, но и возможности Apache, такие как .htaccess. Второй же вариат удобен например для Yii или Laravel.
Установка PHP 5 как модуля Apache:
apt-get update apt-get install libapache2-mod-php5 php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как модуля Apache:
apt-get update apt-get install libapache2-mod-php7.0 php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Установка PHP 5 как PHP-FPM:
apt-get update apt-get install php5-fpm php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как PHP-FPM
apt-get update apt-get install php7.0-fpm php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Модули
В Debian и Ubuntu зачастую установка модулей PHP не требует каких-то сложных манипуляций. Для того, чтобы посмотреть, что Вы можете поставить прямо сейчас, нужно сделать:
lynx@lnxdsk:~$ apt-cache search php7.0 php-amqp - AMQP extension for PHP php-apcu - APC User Cache for PHP php-all-dev - package depending on all supported PHP development packages php-gearman - PHP wrapper to libgearman php-geoip - GeoIP module for PHP php-gmagick - Provides a wrapper to the GraphicsMagick library php-gnupg - PHP wrapper around the gpgme library php-igbinary - igbinary PHP serializer php-imagick - Provides a wrapper to the ImageMagick library php-libsodium - PHP wrapper for the Sodium cryptographic library php-mailparse - Email message manipulation for PHP php-memcache - memcache extension module for PHP php-memcached - memcached extension module for PHP, uses libmemcached php-mongodb - MongoDB driver for PHP php-msgpack - PHP extension for interfacing with MessagePack php-oauth - OAuth 1.0 consumer and provider extension php-http - PECL HTTP module for PHP Extended HTTP Support php-pinba - Pinba module for PHP php-propro - propro module for PHP php-radius - radius client library for PHP php-raphf - raphf module for PHP php-redis - PHP extension for interfacing with Redis php-rrd - PHP bindings to rrd tool system php-smbclient - PHP wrapper for libsmbclient php-solr - PHP extension for communicating with Apache Solr server php-ssh3 - Bindings for the libssh3 library php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP php-uploadprogress - file upload progress tracking extension for PHP php-uuid - PHP UUID extension php-yac - YAC (Yet Another Cache) for PHP php-yaml - YAML-1.1 parser and emitter for PHP php-zmq - ZeroMQ messaging bindings for PHP php7.0 - server-side, HTML-embedded scripting language (metapackage) php7.0-bcmath - Bcmath module for PHP php7.0-bz2 - bzip2 module for PHP php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary) php7.0-cli - command-line interpreter for the PHP scripting language php7.0-common - documentation, examples and common module for PHP php7.0-curl - CURL module for PHP php7.0-dba - DBA module for PHP php7.0-dev - Files for PHP7.0 module development php7.0-enchant - Enchant module for PHP php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) php7.0-gd - GD module for PHP php7.0-gmp - GMP module for PHP php7.0-imap - IMAP module for PHP php7.0-interbase - Interbase module for PHP php7.0-intl - Internationalisation module for PHP php7.0-json - JSON module for PHP php7.0-ldap - LDAP module for PHP php7.0-mbstring - MBSTRING module for PHP php7.0-mcrypt - libmcrypt module for PHP php7.0-mysql - MySQL module for PHP php7.0-odbc - ODBC module for PHP php7.0-opcache - Zend OpCache module for PHP php7.0-pgsql - PostgreSQL module for PHP php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) php7.0-pspell - pspell module for PHP php7.0-readline - readline module for PHP php7.0-recode - recode module for PHP php7.0-snmp - SNMP module for PHP php7.0-soap - SOAP module for PHP php7.0-sqlite3 - SQLite3 module for PHP php7.0-sybase - Sybase module for PHP php7.0-tidy - tidy module for PHP php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP php7.0-xmlrpc - XMLRPC-EPI module for PHP php7.0-xsl - XSL module for PHP (dummy) php7.0-zip - Zip module for PHP
Давайте для примера установим GD для работы с изображениями:
lynx@lnxdsk:~$ sudo apt-get install php7.0-gd Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, вместо «php7.0-gd» выбирается «php-gd» НОВЫЕ пакеты, которые будут установлены: php-gd обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 148 пакетов не обновлено. Необходимо скачать 350 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 1 493 kB. Пол:1 http://mirror.mephi.ru/debian stretch/main amd64 php-gd amd64 2.5.0-1 [350 kB] Получено 350 kБ за 0с (2 266 kБ/c) Выбор ранее не выбранного пакета php-gd. (Чтение базы данных … на данный момент установлено 61175 файлов и каталогов.) Подготовка к распаковке …/php-gd_2.5.0-1_amd64.deb … Распаковывается php-xdebug (2.5.0-1) … Настраивается пакет php-xdebug (2.5.0-1) … После установки нам нужно перезапустить apache (эти примеры я показываю от пользователя root):
root@lnxdsk:~# service apache2 restart
Либо php-fpm, смотря, что используете Вы:
root@lnxdsk:~# service php7.0-fpm restart
Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:
lynx@lnxdsk:~$ php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dba dom ereg exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xdebug xml xmlreader xmlwriter Zend OPcache zip zlib [Zend Modules] Xdebug Zend OPcache
Установка PHP-FPM на Debian из пакетов / Блог компании TrueVDS / Хабр
PHP-FPM — патч к PHP, предоставляющие альтернативный интерфейс FastCGI. Обычно используется с nginx в проектах с высокими нагрузками или дефицитом ресурсов. Для удобной и упрощенной инсталляции мы собрали PHP-FPM в пакет для Debian 5 Lenny. Последнюю пару недель тестировали и тюнили, сейчас выложили в публичный доступ. Над пакетами в поте лица трудился viliar, которому дружно направляем за это благодарности и карму. Багрепорты и замечания приветствуются, лучше комментами к посту.
Инструкция по установке
Устанавливаем PHP-FPM с nginx на минимальную инсталляцию Debian 5.
Настройка нового репозитория
Собранные пакеты лежат в репозитории ftp-pub.truevds.ru/pub/debian. Добавляем репозиторий в конфигурацию apt — создаем файл /etc/apt/sources.list.d/truevds.list с содержимым:
deb ftp://ftp-pub.truevds.ru/pub/debian lenny main deb-src ftp://ftp-pub.truevds.ru/pub/debian lenny main
Импортируем ключ, которым подписываются пакеты:
apt-key adv --keyserver pgp.mit.edu --recv-key 44BEB7BE
или
wget -O - ftp://ftp-pub.truevds.ru/pub/GPG_TRUEVDS_RU.KEY | apt-key add -
Для того, чтобы при апгрейде системы не переустанавливался PHP без патча, пропишем приоритет в конфгурационном файле /etc/apt/preferences, добавим:
Package: * Pin: release a=stable Pin-Priority: 900 Package: php php* Pin: origin ftp-pub.truevds.ru Pin-Priority: 999
Обновляем индексные файлы архивов:
apt-get update
Установка и конфигурирование
Устанавливаем PHP5 и nginx:
apt-get install php5-cgi nginx
Редактируем /etc/nginx/sites-enabled/default — добавляет в секцию location / привязку расширения .php к php-fpm:
location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/default.socket; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Стартуем php-fpm и nginx:
/etc/init.d/php-fpm start /etc/init.d/nginx start
Система готова к работе.
Проверка работоспособности
Каталогом сервера по умолчанию для nginx является /var/www/nginx-default. Для проверки корректности работы php создаем в нем файл с phpinfo():
echo '<?phpinfo()?>' > /var/www/nginx-default/phpinfo.php
и открываем в браузере http://IP-адрес_сервера/phpinfo.php. Получаем:
Ubuntu
Для Ubuntu 9.10 Karmic есть собранные пакеты от Dreamcat4. Собственно, инструкция по установке PHP-FPM оттуда:
wget https://launchpad.net/~dreamcat4/+archive/ppa/+files/php5-common_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb dpkg --install php5-common_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb wget https://launchpad.net/~dreamcat4/+archive/ppa/+files/php5-fpm_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb dkpg --install php5-fpm_5.2.10.dfsg.1-2ubuntu3~pre2_i386.deb
UPD (2009-12-17) Линки кривые. Репозиторий:
deb http://ppa.launchpad.net/dreamcat4/ppa/ubuntu karmic main deb-src http://ppa.launchpad.net/dreamcat4/ppa/ubuntu karmic main
Или качать напрямую с ppa.launchpad.net/dreamcat4/ppa/ubuntu/pool/main/p/php5
Потрогать своими руками
С этим пакетом мы собрали специальный пресет Оптимизированный PHP, который представляет из себя собранные и настроенные для работы nginx, php-fpm, eaccelerator, mysql и memcached. Для запуска сайта достаточно залить его по FTP. Сейчас этот пресет в статусе беты.
Под его тестирование зарезервировано оборудования и мы можем предоставить бесплатно на месяц несколько десятков серверов c 256 Mb RAM / 480 MHz CPU с этим пресетом. Можно посмотреть, как будут себя вести ваши сайты на связке nginx + php-fpm, можно просто посмотреть, что представляет из себя nginx с php-fpm. Предложение только для хабраюзеров с положительной кармой. В одни руки — один сервер. Заявки на сервер — личным сообщением со своим email. В обмен нужны репорты по различным недочетам, непонятностям, скорости, ну и общие описания ощущений.
Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP) на Debian 9 Stretch
Содержание статьи:
Рассмотрим установку стека LAMP (Linux, Apache, MySQL/MariaDB, PHP) на Debian 9 Stretch.
Подготовка системы
Обновляем систему до актуального состояния:
| apt-get update && sudo apt-get upgrade -y |
Установка Apache
Устанавливаем веб-сервер Apache, выполняем команду:
| apt-get install apache2 apache2-utils |
Для проверки, в браузере открываем http://192.168.1.2 (адрес моей системы), и на экране отобразится стандартная страница Apache.
По-умолчанию в веб-сервере Apache корневая директория для сайтов (document root) находится в директории /var/www/html.
Установка PHP
Устанавливаем PHP и необходимые модули, выполняем команду:
| apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql |
Перезагружаем веб-сервер apache:
Для проверки работы PHP, в корневой директории веб-сервера apache (/var/www/html) создаем файл info.php который будет содержать функцию отображения информации. Выполняем команду:
| echo «<?php phpinfo(); ?>» > /var/www/html/info.php |
Открываем в браузере страницу http://192.168.1.2/info.php (адрес моей системы) и на экране отобразится информации о настройках веб-сервера и PHP.
Установка MySQL/MariaDB
MariaDB является заменой для MySQL в Debian 9 Stretch. Если вы попытаетесь установить MySQL (mysql-server) на Debian 9, то система установит MariaDB и установит MariaDB в качестве сервера базы данных по-умолчанию.
Устанавливаем сервер MariaDB, выполняем команду:
| apt-get install mariadb-server |
После установки MariaDB, рекомендуется выполнить дополнительный скрипт, для настройки безопасности MariaDB, выполняем команду:
| mysql_secure_installation |
В ходе выполнения команды, будет заданы вопросы (смены пароля root, удаления анонимных учетных записей, отключения удаленного доступа для root, удаления тестовой базы данных, сброса привилегий).
На этом установка LAMP на Debian 9 Stretch.
Понравилась или оказалась полезной статья, поблагодари автора
Установка PHP 5.6 в Debian 9 [RTFM.WIKI]
В Debian 9 Stretch доступен для установки PHP 7.0
Задача — установить PHP 5.6
Репозиторий Dotdeb больше не будет выпускать новых версий.
Теперь установка новых версий PHP доступна из репозитория deb.sury.org
Каждый раз, когда Debian погружается в криокамеру перед релизом, успевает выйти новый PHP, в котором оказывается всё ещё лучше (ну а как иначе?!).
ЕМНИП то версии PHP в Debian следующие
Let’s roll!
Добавить репозиторий (README.txt
#!/bin/bash # To add this repository please do: if [ "$(whoami)" != "root" ]; then SUDO=sudo fi ${SUDO} apt-get -y install apt-transport-https lsb-release ca-certificates ${SUDO} wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg ${SUDO} sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' ${SUDO} apt-get update
Обновляем кэш пакетов, смотрим какие пакеты доступны, ставим PHP 5.6
# apt-get update # apt-cache search php5 # apt-get install php5.6-fpm --no-install-recommends
Переключаемся на PHP 5.6
# update-alternatives --config php There are 2 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/php7.0 70 auto mode * 1 /usr/bin/php5.6 56 manual mode 2 /usr/bin/php7.0 70 manual mode Press <enter> to keep the current choice[*], or type selection number:
Вывод php -v
# php -v PHP 5.6.33-1+0~20180105151408.9+stretch~1.gbp0deeda (cli) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Этот сайт использует куки. Находясь здесь, вы соглашаетесь с их хранением на вашем компьютере. Также вы подтверждаете, что прочитали и поняли нашу Политику конфиденциальности. Если вы не согласны — покиньте сайт.OKБольше информации о куки
linux/debian/stretch_php56.txt · Последнее изменение: 2018/01/25 15:44 (внешнее изменение)
Устанавливаем PhpMyAdmin в Debian 10 пошаговая инструкция
Устанавливаем PhpMyAdmin в Debian 10
Ставим Php MyAdmin — для управления базами данных через веб-интерфейс. У вас уже должен быть настроенный LAMP, как это сделать в Debian 10 рассказано в одной из прошлых статей.
Не буду рассусоливать, что к чему, если вы читаете эту статью, то понимаете, что к чему и зачем вам это все нужно.
Непосредственно сам процесс, приступим к установке PhpMyAdmin
Как всегда обновляемся
# apt update
Ставим необходимые пакеты
# apt install php-mbstring php-zip php-gd
На момент написания этой статьи Php MyAdmin не доступен в репозиториях Debian 10. Поэтому обратимся к разработчикам и там скачаем нужный нам пакет.
На сегодняшний день актуальная версия 4.9.1 ее будем скачивать. Я скачиваю версию для всех языков, если вас устраивает только английская замените all-languages на english
# wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.tar.gz
Распаковываем скаченное (если английская замените all-languages на english)
# tar xvf phpMyAdmin-4.9.1-all-languages.tar.gz
Теперь переместим распакованное в /usr/share/phpmyadmin
# sudo mv phpMyAdmin-4.9.1-all-languages/ /usr/share/phpmyadmin
Базовые настройки phpMyAdmin
Создаем каталог для временных файлов phpMyAdmin
# mkdir -p /var/lib/phpmyadmin/tmp
Зададим нужные права для каталога /var/lib/phpmyadmin
# chown -R www-data:www-data /var/lib/phpmyadmin
Создаем файл конфигурации, взяв за основу ранее созданный образец
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Теперь откроем его для редактирования
# nano /usr/share/phpmyadmin/config.inc.php
Прокрутите файл до строки , которая начинается с $cfg[‘blowfish_secret’]:
В единичных кавычках поставите любую комбинацию из 32 символов — пароль для шифрования
Если менее 32 — защита будет слабее, более 32 ничего не даст.
Ниже в этом файле находим строку /* User used to manipulate with storage */
Уберите комментирование двух строк с логином и паролем — укажите свой пароль
Спускаемся далее по файлу до комментария /* Storage database and tables */ и убираем комментирование у каждой строки, получится так
Ну и в самом низу этого файла допишите такую строку строку
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Теперь сохраните Ctrl+O и закройте файл Ctrl+X
Команда, чтобы использовать файл create_tables.sql для создания базы данных и таблиц конфигурации
# mariadb < /usr/share/phpmyadmin/sql/create_tables.sql
Создаем администратора pma
Откроем командную строку MariaDB
# mariadb
В командной строке выполните следующую команду, чтобы создать пользователя pma и предоставить ему соответствующие права. Обязательно измените пароль — он должен соответствовать паролю, который вы определили в файле config.inc.php:
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
Если не создали, то создайте обычного пользователя user со всеми правами, пароль password конечно свой
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Выходим командой exit
Настроим Apache для работы с PhpMyAdmin
Создаем файл phpmyadmin.conf в каталоге /etc/apache2/conf-available/
# nano /etc/apache2/conf-available/phpmyadmin.conf
Вставляем в него следующее содержимое
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
Теперь сохраните его и закройте
Включаем этот файл
# sudo a2enconf phpmyadmin.conf
Перезагружаем Apache2
# sudo systemctl reload apache2
Теперь настало время проверить, перейдем в браузере по адресу
http://localhost/phpmyadmin
Для входа используйте логин и пароль MariaDB
Защита Php MyAdmin
Если вы настраиваете хостинг, сервер для общего пользования, то этот пункт нельзя пропускать.
Включите поддержку файлов .htaccess. Настройте тип авторизации, расположение файлов паролей и пользователей которым дан доступ.
Я же настраивал и использую связку LAMP для web разработки, отладки и тестирования своих локальных проектов.
Мне защита в данном случае ни к чему. Поэтому не буду заострять на этом внимание.
Удачи!
Установка PHP7 в режиме php-fpm на Debian 8 из репозитория
Приветствую, в своей прошлой статье я рассказал об установке последней версии PHP7 из исходников. Разумеется, сама установка не так уж и удобна, а говорить про последующие обновления, думаю, и смысла особого нет. В этой статье поговорим о возможности установки из репозитория, и дальнейшем обновлении с помощью apt-get update && apt-get upgrade.
В официальных дистрибутивах Debian пока не появилась версия PHP 7. Для этого мы будем использовать Personal Package Archive (PPA) — репозиторий, позволяющий сторонним разработчикам собирать и распространять пакеты для Debian/Ubuntu не по официальным каналам. Тут часто можно найти полезные исходники beta версии ПО, модикации, а так же бэкпорты для устаревших версий ОС. Один из разработчиков по имени Ondřej Surý предоставляет PPA для PHP7 на Ubuntu. Для того, чтобы установить пакеты из этого репозитория в Debian придётся немного пошаманить.
Для начала работы с PPA нужно установить необходимые пакеты:
apt-get install software-properties-common python-software-properties
После чего добавляем репозиторий автора в систему с помощью команды:
add-apt-repository ppa:ondrej/php
После выполнения команды будут импортированы все ключи, а также в /etc/apt/sources.list.d/ будет добавлен соответствующий файл с указанием репозитория. Однако, в связи с тем, что репозиторий предназначен для Ubuntu, а добавили мы его в Debian, в файле /etc/apt/sources.list.d/ondrej-php-jessie.list строка будет заканчиваться на «…/ubuntu jessie main», но релиза с именем Jessie в Ubuntu нет, поэтому заменяем в этой строке «jessie» на «trusty». После сохранения обновляем индекс пакетов:
apt-get update
Теперь можно установить нужные нам пакеты:
apt-get install php7.0-fpm
apt-get install php7.0-mysql
Путь до сокета: /var/run/php/php7.0-fpm.sock
Обновляем настройку в nginx:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
И перезапускаем nginx:
service nginx restart
Готово!
Установка PHP и модулей на Ubuntu / Debian
PHP
В Debian и Ubuntu есть несколько вариантов работы php: как модуль apache и как php-fpm. Первый вариант удобен тем, кому придется использовать не только сам PHP, но и возможности Apache, такие как .htaccess. Второй же вариат удобен, например, для Yii или Laravel.
Установка PHP 5 как модуля Apache:
apt-get update apt-get install libapache2-mod-php5 php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как модуля Apache:
apt-get update apt-get установить libapache2-mod-php7.0 php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Установка PHP 5 как PHP-FPM:
apt-get update apt-get install php5-fpm php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как PHP-FPM
apt-get update apt-get install php7.0-fpm php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Модули
В Debian и Ubuntu часто установка модулей PHP не требует каких-то сложных манипуляций. Для того, чтобы посмотреть, что Вы поставить прямо сейчас, нужно сделать:
lynx @ lnxdsk: ~ $ apt-cache search php7.0 php-amqp - расширение AMQP для PHP php-apcu - Пользовательский кэш APC для PHP php-all-dev - пакет, зависящий от всех поддерживаемых пакетов разработки PHP php-gearman - PHP-оболочка для libgearman php-geoip - модуль GeoIP для PHP php-gmagick - предоставляет оболочку для библиотеки GraphicsMagick php-gnupg - PHP-оболочка вокруг библиотеки gpgme php-igbinary - igbinary сериализатор PHP php-imagick - предоставляет оболочку для библиотеки ImageMagick php-libsodium - PHP-оболочка для криптографической библиотеки Sodium php-mailparse - Обработка сообщений электронной почты для PHP php-memcache - модуль расширения memcache для PHP php-memcached - модуль расширения memcached для PHP, использует libmemcached php-mongodb - драйвер MongoDB для PHP php-msgpack - расширение PHP для взаимодействия с MessagePack php-oauth - OAuth 1.0 расширение потребителя и поставщика php-http - HTTP-модуль PECL для расширенной поддержки HTTP в PHP php-pinba - модуль Pinba для PHP php-propro - модуль propro для PHP php-radius - клиентская библиотека radius для PHP php-raphf - модуль raphf для PHP php-redis - расширение PHP для взаимодействия с Redis php-rrd - привязки PHP к системе инструментов rrd php-smbclient - PHP-оболочка для libsmbclient php-solr - расширение PHP для связи с сервером Apache Solr php-ssh3 - Привязки для библиотеки libssh3 php-stampp - клиентский модуль протокола потоковой передачи текстовых сообщений (STOMP) для PHP php-uploadprogress - расширение отслеживания загрузки файла для PHP php-uuid - расширение PHP UUID php-yac - YAC (еще один кеш) для PHP php-yaml - ЯМЛ-1.1 парсер и эмиттер для PHP php-zmq - привязки сообщений ZeroMQ для PHP php7.0 - серверный язык сценариев со встроенным HTML (метапакет) php7.0-bcmath - модуль Bcmath для PHP php7.0-bz2 - модуль bzip2 для PHP php7.0-cgi - серверный язык сценариев со встроенным HTML (двоичный код CGI) php7.0-cli - интерпретатор командной строки для языка сценариев PHP php7.0-common - документация, примеры и общий модуль для PHP php7.0-curl - модуль CURL для PHP php7.0-dba - модуль DBA для PHP php7.0-dev - Файлы для PHP7.0 разработка модуля php7.0-enchant - Модуль чар для PHP php7.0-fpm - серверный язык сценариев, встроенный в HTML (двоичный файл FPM-CGI) php7.0-gd - модуль GD для PHP php7.0-gmp - модуль GMP для PHP php7.0-imap - модуль IMAP для PHP php7.0-interbase - модуль Interbase для PHP php7.0-intl - Модуль интернационализации для PHP php7.0-json - модуль JSON для PHP php7.0-ldap - модуль LDAP для PHP php7.0-mbstring - модуль MBSTRING для PHP php7.0-mcrypt - модуль libmcrypt для PHP php7.0-mysql - модуль MySQL для PHP php7.0-odbc - модуль ODBC для PHP php7.0-opcache - модуль Zend OpCache для PHP php7.0-pgsql - модуль PostgreSQL для PHP php7.0-phpdbg - серверный язык сценариев, встроенный в HTML (двоичный файл PHPDBG) php7.0-pspell - модуль pspell для PHP php7.0-readline - модуль readline для PHP php7.0-recode - модуль перекодирования для PHP php7.0-snmp - модуль SNMP для PHP php7.0-soap - модуль SOAP для PHP php7.0-sqlite3 - модуль SQLite3 для PHP php7.0-sybase - модуль Sybase для PHP php7.0-tidy - аккуратный модуль для PHP php7.0-xml - модуль DOM, SimpleXML, WDDX, XML и XSL для PHP php7.0-xmlrpc - модуль XMLRPC-EPI для PHP php7.0-xsl - модуль XSL для PHP (пустышка) php7.0-zip - Zip-модуль для PHP
Давайте для примера установим GD для работы с изображениями:
lynx @ lnxdsk: ~ $ sudo apt-get install php7.0-gd Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, вместо «php7.0-gd» выбирается «php-gd» НОВЫЕ пакеты, которые установлены: php-gd обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 148 пакетов не обновлено.Необходимо скачать 350 кБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 1 493 КБ. Пол: 1 http://mirror.mephi.ru/debian stretch / main amd64 php-gd amd64 2.5.0-1 [350 kB] Получено 350 кБ за 0с (2 266 кБ / c) Выбор ранее не выбранный пакет php-gd. (Чтение базы данных… на данный момент установлено 61175 файлов и каталогов.) Подготовка к распаковке… / php-gd_2.5.0-1_amd64.deb… Распаковывается php-xdebug (2.5.0-1)… Настраивается пакет php-xdebug (2.5.0-1)… После установки нам нужно перезапустить apache (эти примеры я показываю от пользователя root):
root @ lnxdsk: ~ # перезапуск службы apache2
Либо php-fpm, смотря, что используете Вы:
root @ lnxdsk: ~ # сервис php7.0-fpm перезапуск
Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:
рысь @ lnxdsk: ~ $ php -m [Модули PHP] bcmath bz2 календарь Ядро ctype завиток Дата dba дом эрег exif fileinfo фильтр ftp б-г gettext хэш iconv международный json libxml mbstring мхаш mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar Posix строка чтения Отражение сессия шмоп SimpleXML мыло Розетки SPL стандарт sysvmsg sysvsem sysvshm токенизатор wddx xdebug xml xmlreader xmlwriter Zend OPcache застегивать zlib [Модули Zend] Xdebug Zend OPcache
.
Устанавливаем PhpMyAdmin в Debian 10 пошаговая инструкция
Устанавливаем PhpMyAdmin в Debian 10
Ставим Php MyAdmin — для управления базами данных через веб-интерфейс. У вас уже должен быть настроенный LAMP, как это сделать в Debian 10 рассказано в одной из прошлых статей.
Не буду рассусоливать, что к чему, если вы читаете эту статью, то понимаете, что к чему и зачем вам это все нужно.
Непосредственно сам процесс, приступим к установке PhpMyAdmin
Как всегда обновляемся
# apt update
Ставим необходимые пакеты
# apt install php-mbstring php-zip php-gd
На момент написания этой статьи Php MyAdmin не доступен в репозиториях Debian 10.Поэтому обратимся к разработчикам и там скачаем нужный нам пакет.
На сегодняшний день актуальная версия 4.9.1 ее будем скачивать. Я скачиваю версию для всех языков, если вас устраивает только английская замените all-languages на english
# wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.tar.gz
Распаковываем скаченное (если английская замените все языки на английский )
# tar xvf phpMyAdmin-4.9.1-all-languages.tar.gz
Теперь переместим распакованное в / usr / share / phpmyadmin
# sudo mv phpMyAdmin-4.9.1-все-языки / / usr / share / phpmyadmin
Базовые настройки phpMyAdmin
Создаем каталог для временных файлов phpMyAdmin
# mkdir -p / var / lib / phpmyadmin / tmp
Зададим нужные права для каталога / var / lib / phpmyadmin
# chown -R www-data: www-data / var / lib / phpmyadmin
Создайте файл конфигурации, взяв за основу ранее созданный образец
# cp / usr / share / phpmyadmin / config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Теперь откроем его для редактирования
# nano /usr/share/phpmyadmin/config.inc.php
Прокрутите файл до строки, которая начинается с $ cfg [‘blowfish_secret’]:
В единичных кавычках поставите любую комбинацию из 32 символов — пароль для шифрования
Если менее 32 — защита будет слабее, более 32 ничего не даст.
Ниже в этом файле находим строку / * Пользователь, использовавший манипуляции с хранилищем * /
Уберите комментирование двух строк с логином и паролем — укажите свой пароль
Спускаемся далее по файлу до комментариев / * База данных и таблицы хранения * / и убираем комментирование у каждой строки, получится так
Ну и в самом низу этого файла допишите такую строку
.
$ cfg ['TempDir'] = '/ var / lib / phpmyadmin / tmp';
Теперь сохраните Ctrl + O и закройте файл Ctrl + X
Команда, чтобы использовать файл create_tables.sql для создания базы данных и таблиц конфигурации
# mariadbСоздаем администратора pma
Откроем командную строку MariaDB
# mariadbВыполните следующую команду, чтобы создать пользователя pma и ему соответствующие права. Обязательно измените пароль - он должен паролю, который вы определили в файле config.inc.php:
GRANT SELECT, INSERT, UPDATE, DELETE НА phpmyadmin.* К 'pma' @ 'localhost', ОПРЕДЕЛЕННОМ 'pmapass';
Если не создать, то создайте обычного пользователя пользователь со всеми правами, пароль пароль конечно свой
ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ НА *. * 'User' @ 'localhost', ОПРЕДЕЛЕННОМ 'паролем' С ОПЦИЕЙ GRANT;Выходим командой выход
Настроим Apache для работы с PhpMyAdmin
Создаем файл phpmyadmin.conf в каталоге / etc / apache2 / conf-available /
# нано / etc / apache2 / conf-available / phpmyadmin.confВставляем в него следующее содержимое
# phpMyAdmin Конфигурация Apache по умолчанию
Псевдоним / phpmyadmin / usr / share / phpmyadmin
Параметры SymLinksIfOwnerMatch
DirectoryIndex index.php
9011 application / x-httpd-php .php
SetHandler application / x-httpd-php
php_value include_path.
php_admin_value upload_tmp_dir / var / lib / phpmyadmin / tmp
php_admin_value open_basedir / usr / share / phpmyadmin /: / etc / phpmyadmin /: / var / lib / phpmyadmin /: / usr / share / php / php-gettext / / share / php / php-php-gettext /: / usr / share / javascript /: / usr / share / php / tcpdf /: / usr / share / doc / phpmyadmin /: / usr / share / php / phpseclib /
php_admin_value mbstring.func_overload 0
AddType application / x-httpd-php .php
SetHandler application / x-httpd-php
php_value include_path.
php_admin_value upload_tmp_dir / var / lib / phpmyadmin / tmp
php_admin_value / etc open_basedir / usr / share phpmyadmin /: / var / lib / phpmyadmin /: / usr / share / php / php-gettext /: / usr / share / php / php-php-gettext /: / usr / share / javascript /: / usr / share / php / tcpdf /: / usr / share / doc / phpmyadmin /: / usr / share / php / phpseclib /
php_admin_value mbstring.func_overload 0
# Авторизация для установки
Запретить веб-доступ к каталогам, которым он не нужен
AuthType Basic
AuthName «phpMyAdmin Setup»
AuthUserFile /etc/phpmyadmin/htpasswd.setup
Требовать действительного пользователя
Dodule>
Запретить всем отказано
Запретить всем отказано
< / Directory>
Требовать все отклонено
Теперь сохраните его и закройте
Включаем этот файл
# sudo a2enconf phpmyadmin.confПерезагружаем Apache2
# sudo systemctl перезагрузить apache2Теперь настало время проверить, перейдем в браузере по адресу
http: // localhost / phpmyadmin
Для входа використовуйте логин и пароль MariaDB
Защита Php MyAdmin
Если вы настраиваете хостинг, сервер для пользования, то этот пункт нельзя пропускать.
Включите поддержку файлов .htaccess. Настройте тип авторизации, расположение файлов паролей и пользователей дан доступ.
Я же настраиваю и использую связку LAMP для веб-разработки, отладки и тестирования своих локальных проектов.
Мне защита в данном случае ни к чему. Поэтому не буду заострять на этом внимание.
Удачи!
.