debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]  (Прочитано 6542 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Thunder

  • Topic Author
  • Сообщений: 140
  • Jabber: minnigaliev-r@jabber.ru
FAQ

Какие пакеты ставить?
sudo apt-get install apache2 php5 php5-mysql ?mysql-server phpmyadminapache2 - веб-сервер
php5 - интерпретатор языка
php5-mysql - для работы с мускулем из php
mysql-server - СУБД
phpmyadmin - веб-интерфейс для управления БД в мускуле.



Как настроить апач?

Свои настройки следует писать в /etc/apache2/conf.d, т.е. создать там файл, например, myconf.conf и определить в нём свои настройки.
/etc/apache2/conf.d/myconf.conf
## Файл личных настроек веб-сервера Apache, для добавления настройки раскомментируйте уже имеющиеся либо добавьте свою.

## Чтобы устранить предупреждение при перезапуске апача (хотя в целом на производительности это не отразится)
ServerName localhost

## Eсли апач не понимает php или предлагает сохранить php-файл
AddType application/x-httpd-php .php .phtml

## Установка кодировки UTF-8 по умолчанию
AddDefaultCharset UTF-8



Как перезапустить apache?
После внесения изменений в настройки апача, его необходимо перезапускать.

Перезапуск / старт / остановка сервера.
/etc/init.d/apache2 restart
/etc/init.d/apache2 start
/etc/init.d/apache2 stop



Как настроить виртуальные хосты?
Есть несколько способов, я же расскажу о том как повесить несколько виртуальных хостов на один IP c доступом к ним по имени сервера.

В /etc/hosts прописываем наши хосты:
127.0.0.1    host2.server1 host1.server1
Идём в /etc/apache2/sites-available
и создаём там файлы, названиями которых будут названия, создаваемых серверов, например host1.server1 и host2.server1
в эти файлы пишем (здесь показано простейшее, подробнее можно заценить в файле default):

/etc/apache2/sites-available/host1.server1
<VirtualHost *:80>
    ServerName host1.server1
    DocumentRoot /home/thunder/www/host1.server1
    <Directory /home/thunder/www/host1.server1>
        AllowOverride All
    </Directory>
</VirtualHost>

/etc/apache2/sites-available/host2.server1
<VirtualHost *:80>
ServerName host2.server1
DocumentRoot /home/thunder/www/host2.server1
<Directory /home/thunder/www/host2.server1>
AllowOverride All
</Directory>
</VirtualHost>

Далее создаём симлинки на эти файлы в директории /etc/apache2/sites-enabled с помощью команды a2ensite:

a2ensite host1.server1 host2.server1
(Удаляются симлинки таким же образом командой a2dissite)

Перезапускаем Апач, пробуем в браузере
http://host1.server1
http://host2.server1



Как установить php-apc (opcode cacher, ускоритель/акселератор php, кэш)?
apt-get install php-apcАкселератор PHP — программа, ускоряющая исполнение сценариев PHP интерпретатором путём кэширования их байткода.
Файл настройки /etc/php5/apache2/conf.d/apc.ini. Установки по рекомендациям CMS 1C-Битрикс:
extension=apc.so
realpath_cache_size=4096k
apc.ttl=1
apc.max_file_size=4M



Как установить php5-xcache (opcode cacher, ускоритель/акселератор php, кэш)?

Если у вас уже стоит APC - удалите его предварительно!
apt-get install php5-xcacheАкселератор PHP — программа, ускоряющая исполнение сценариев PHP интерпретатором путём кэширования их байткода.
Файл настройки /etc/php5/apache2/conf.d/xcache.ini. Установки по рекомендациям CMS 1C-Битрикс:
realpath_cache_size = 4096k
xcache.size  =                40M
xcache.slots =                8K
xcache.ttl   =                 1
Также можно указать число ядер вашего процессора:
xcache.count =                 2понятно, что это для 2-х голового. Однако, я получил при этом падение производительности в Битриксе на 5-10%. Попробуйте, мб в вашем случае будет рост.



Как выключить автозапуск apache2 и mysql?
ВАМ ЭТО ДЕЙСТВИТЕЛЬНО НУЖНО? Эти демоны стартуют в родной для себя среде в разы быстрее чем денвер в винде, думаю от 1 сек к времени загрузки ОС и 10 мб ОЗУ вам хуже не станет, а лишних телодвижений не будет...
Вырубаем автостарт Апача:
update-rc.d -f apache2 removeМускуля:
nano /etc/init/mysql.confкомментируем строки:
start on (net-device-up
          and local-filesystems
          and runlevel [2345])
т.е. должно быть так:
#start on (net-device-up
#          and local-filesystems
#          and runlevel [2345])



Как разрешить доступ к БД MySQL из мира?
по умолчанию mysql не принимает tcp соединения т.к. прослушивает только 127.0.0.1

#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

Самое простое - просто закомментировать эту строку.

И надо добавить пользователя, который с разных мест и из разных программ может соединяться с базой, например "admin":
GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'my_admin_password' WITH GRANT OPTION;



Как сделать откат до версии php5.2?



Как установить Zend Optimizer?
Для начала нужно выполнить п.7, чтобы у нас была версия php5.2
Скачайте нужный вам дистрибутив (32 или 64 бит) по адресу <!-- m -->http://www.zend.com/en/products/guard/downloads<!-- m --> (необходима регистрация).

Затем на сервере откройте архив, перейдите в директорию

/data/5_2_x_comp/

Создайте необходимую директорию
mkdir /usr/local/lib/Zendи распакуйте туда файл ZendOptimizer.so

Затем
echo "zend_extension=/usr/local/lib/Zend/ZendOptimizer.so" >> /etc/php5/conf.d/zend.ini
После этого перезапустите apache2 и проверьте работу Zend.



========================================

Редакторы, CMS /etc

Pедакторы и IDE
Мощные редакторы и IDE

Минималистичные редакторы
  • medit (gtk)
  • leafpad (gtk)
  • nano
  • vi

Java-based IDE

Я пользуюсь Komodo Edit 6



Системы управления контентом (Content Managment Systems)

  • Drupal и how-to
  • Joomla (простая и довольно популярная)
  • Wordpress (используется в Google для блогов на blogspot.com)
  • 1С-Битрикс (Мощная платная система)



Фреймворки (Frameworks)
« Последнее редактирование: 03 Август 2011, 02:34:32 от Thunder »
 
Пользователи, которые поблагодарили этот пост: n0m4d

Оффлайн delldeb

  • Сообщений: 85
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #1 : 30 Сентябрь 2014, 19:14:20 »
Установил apache2 php5 php5-mysql mysql-server phpmyadmin, все установилось без ошибок.
Затем в phpmyadmin (http://localhost/phpmyadmin), создал базу mysql.
Скачал архив joomla и распаковал в папку  /var/www/seite, потом поменял права на папку chmod -R 777 /var/www/seiteИ теперь проблема захожу в браузере http://localhost/seite, он выдает вместо установки joomla

Not Found
The requested URL /seite was not found on this server.
Apache/2.4.10 (Debian) Server at 127.0.0.1 Port 80 

Подскажите, пожалуйста, если кто знает?
Система debian jessie amd64, kde.
Debian Stretch, amd64, Xfce 4.12.
 

Оффлайн delldeb

  • Сообщений: 85
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #2 : 01 Октябрь 2014, 12:45:48 »
ёмаё, не в ту папку распаковал джумлу, надо в var/www/html. Все ок.
Debian Stretch, amd64, Xfce 4.12.
 

Оффлайн Sonnex

  • Сообщений: 20
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #3 : 16 Июнь 2015, 20:27:03 »
Есть проблема с командой
root@Black:/etc/apache2/sites-available# ls
000-default.conf  host1.server1  mytestsite.dev.save
default-ssl.conf  host2.server1  studio.ru.conf
root@Black:/etc/apache2/sites-available# a2ensite host1.server1 host2.server1
ERROR: Site host1.server1 does not exist!
ERROR: Site host2.server1 does not exist!
 

Оффлайн Rubik

  • Сообщений: 20
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #4 : 27 Август 2015, 01:25:22 »
подскажите /etc/apache2/conf.d нет conf.d
 

Оффлайн PeterBumblebee

  • Сообщений: 34
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #5 : 03 Сентябрь 2015, 11:32:39 »
подскажите /etc/apache2/conf.d нет conf.d
Зато есть /etc/apache2/conf-available, кладёте туда свой <someconfig>.conf, затем от рута выполняете a2enconf <someconfig>
Who the hell cares?
 

Оффлайн sen4x

  • Debian 9 x64
  • Сообщений: 6
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #6 : 08 Июль 2017, 00:17:27 »
спасибо автору за тему, с неё начал и её закончу.
у меня LMDE 2 x64, apache 2.4.10 (более 10 лет, в конфиги апачи не залазил и то под виндой)
большая часть применима, но вот с вертуальными хостами, была ошибка 403,
к счастью решил проблему методам исключения, как это всегда делается.
в файле apache2.conf добавил после:

#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>

следующее:

<Directory /home/*/public_html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>


так, как в /etc/apache2/sites-available/sen4x-host.conf

<VirtualHost *:80>
    ServerName sen4x.host
    DocumentRoot /home/sen4x/public_html
    <Directory /home/sen4x/public_html>
 Options Includes FollowSymlinks
 AllowOverride All
 DirectoryIndex index.php index.html index.htm
    </Directory>
</VirtualHost>


таким образом решил проблему доступа, ошибка 403

ps:
Обновил систему LMDE2 --> Debian 9

Чуток поменялась установка:

1)
sudo apt-get install apache2 php libapache2-mod-php php-mysql mysql-server phpmyadmin
2)
sudo mysql_secure_installation (на всё отвечаем Y)


как оказывается, под Debian 9, в phpMyadmin нельзя зайти
введя root и его пароль
, поэтому смотрим дальше:


3)

sudo mysql -u root -p вводим пароль который задали в  пункте 2):


теперь поочерёдно прописываем и выполняем следующие команды MariaDB [(none)]>

create user 'test'@'localhost' identified by 'пароль';

grant all privileges on *.* to 'test'@'localhost';

flush privileges;

exit;


Теперь переходим к нашему интерфейсу phpmyadmin http://localhost/phpmyadmin/
вводим имя пользователя test  и его пароль, какой вы там присвоили.

PS: прикрутим ещё Perl, вспомним былое

1)
sudo nano /etc/apache2/mods-enabled/dir.conf# строка 2: проверяем, чтоб в данной строке были имена следующих файлов, если их нет, то дописываем

DirectoryIndex index.html index.cgi index.pl
у меня к примеру, строка выглядит так:
DirectoryIndex index.html index.cgi index.pl index.php index.phtml index.xhtml index.htm
2)
sudo nano /etc/apache2/mods-enabled/mime.conf
 # строка 219: проверяем, что данная строка была активка, чтоб запускались cgi и pl файлы

AddHandler cgi-script .cgi .pl
3)
sudo nano /etc/apache2/sites-enabled/000-default.conf
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# строка 13: добавляем
 <Directory "/var/www/html">
    AllowOverride All
    Options +ExecCGI
    Require all granted
</Directory>

4) делаем модуль cgid активным
sen4x@noob:~$ sudo a2enmod cgid
Enabling module cgid.
To activate the new configuration, you need to run:
service apache2 restart

5) перезапускам apache2, чтоб все правки применились
sen4x@noob:~$ sudo systemctl restart apache2
6) создаём файл index.pl с кодом
sen4x@noob:~$ sudo nano /var/www/html/index.pl
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<html>\n<head><meta charset='utf-8'></head>\n<body>\n";
print "<center>Perl работает (=</center>";
print "</body>\n</html>\n";


7) делаем его исполняемым, если не присвоить право доступа 705, то при заходе http://localhost/index.pl выведется ошибка 500
sen4x@noob:~$ sudo chmod 705 /var/www/html/index.pl
PS: ps
нечто подобное  производим и с хостами, к примеру:
в файл /etc/apache2/sites-enabled/sen4x-host.conf

<VirtualHost *:80>
    ServerName sen4x.host
    DocumentRoot /home/sen4x/public_html
    <Directory /home/sen4x/public_html>
 Options Includes FollowSymlinks
 AllowOverride All
 # добавил исполнение cgi и pl
 Options +ExecCGI
 DirectoryIndex index.php index.phtml index.html index.htm index.pl index.cgi
    </Directory>
</VirtualHost>

Perl как правило, нет необходимости ставить, так как он стоит в системе по умолчанию
проверить это можно в консоли введя команду perl -v.


ЗЫ:

http://www.server-world.info/en/
Spoiler: ispconfig • показать

Пробовал ставить ispconfig, для того, что была возможность
выбора в использование нужной версии php, по данному мануалу: 
http://linux-notes.org/ustanovka-ispconfig-na-debian-ubuntu-mint/
снёс всё нахрен, всё осыпалось, долго вычищал систему от дерьма,
сносить и заново ставить, но это вообще нубячество.

получилось с горепополам, но того, что хотел, ну не как не добился,
и всё же нашёл вот такой вариант установки, спустя 5 минут, всё
настроено и работает:
https://gist.github.com/jniltinho/ff9bef16fbf8dc8ced3b34313d58e1ab#file-install_ispconfig3_debian-sh

смена версий php в ручную
sudo update-alternatives --config php

[/spoiler]


« Последнее редактирование: 20 Июль 2017, 19:22:50 от sen4x »
1) если долго мучатся, что нибудь получится.
2) должно получиться, что-то конкретное.
3) надо представлять хотя бы, что должно получится.
 
Пользователи, которые поблагодарили этот пост: n0m4d

Оффлайн n0m4d

  • Сообщений: 5
Re: Веб-сервер. [Apache2, MySQL, php5, phpmyadmin /etc]
« Ответ #7 : 06 Май 2018, 01:06:41 »
Спасибо, решил проблему неработоспособности phpMyAdmin который работал на версии 7.2, а на php5.6 версии отказывался, доустановил пакет в 140кб:

sudo apt install php5.6-mysql

и раздокументрировал в php.ini строку

extension=mysqli.so

ну и рестарт Apache

/etc/init.d/apache2 restart



Debian9 и PHP5.6
« Последнее редактирование: 06 Май 2018, 01:32:14 от n0m4d »
 

Теги: