Установка apache
Автор ошибся, бывает.
confugure && make && make install
имеет равное отношение к любому дистрибутиву.
Если бы речь действительно шла про Slackware, то установка примерно выглядела как
[console]
# cd /mnt/cdrom/slackware*
# upgradepkg --install-new ap/mysql-*t?z n/httpd-*t?z n/php-*t?z
[/console]
или
[console]
# slackpkg install mysql httpd php
[/console]
Сборка и установка новых версий выглядела б примерно так:
[console]
# cp -a /mnt/cdrom/source/n/php php
# cd php
# wget http://ru.php.net/get/php-5.4.0.tar.bz2/from/this/mirror
# VERSION=5.4.0 ./php.SlackBuild
# upgradepkg --install-new /tmp/php-5.4.0-*t?z
[/console]
Тема статьи говорит за себя.
дело в том, что это 2006й год.
ну так скажите пожалуйста
что говорить? поставьте сначала. там всё тривиально просто, намного проще, чем в этой статье. (см пост 22)
поставьте сначала
см. пост 13 :P
см. пост 13
я его видел. А вы остальные посты видели?
Мне их повторять для вас надо? Вы таки отвлекитесь от статьи с опеннета, сейчас уже и слака другая, и апач другой.
И скажите:
1. У вас mysqld запущен? да/нет?
2. У вас apache запущен? да/нет?
И скажите:
1 Да.
2 Да.
Я был бы благодарен, если бы мне сказали что конкренто настраивать в httpd.conf.
И php.ini никак не найду :(
Я был бы благодарен, если бы мне сказали что конкренто настраивать в httpd.conf.
сдаётся мне, что вы не поставили пакет
/n/php-5.3.10-i486-1.txz (это для current, для вашей системы версия может быть иной)
И php.ini никак не найду
они там же, где и httpd.conf. У меня их два: php.ini-development и php.ini-production, вам нужен естественно первый, который потом (когда всё будет работать) надо сменить на второй. Скопируйте его в php.ini
Silencer,
раз уж в теме про apache в связи с LAMP уже был упомянут mysql, пару слов и про него. Хотя, если документация была читана, это излишне.
0. Читаем
а) /usr/doc/mysql-*/Docs/INSTALL-BINARY -- для общего развития.
б) /etc/rc.d/rc.mysqld в части начальных комментариев. На всякий случай приведу здесь перевод на русский:
# Для старта MySQL при загрузке убедитесь, что этот скрипт исполняемый:
# chmod 755 /etc/rc.d/rc.mysqld
# Для запуска MySQL необходима база данных. Для установки начальной
# базы данных выполните от root-а:
#
# mysql_install_db --user=mysql
#
# Заметьте, что пользователь mysql должен существовать в /etc/passwd,
# этот пользователь будет владельцем созданных файлов. Это важно,
# иначе mysql (работающий от пользователя "mysql") не сможет писать
# в базу данных (что может быть позже исправлено при помощи
# 'chown -R mysql.mysql /var/lib/mysql').
#
# Для повышения безопасности системы также рассмотрите использование
# "mysql_secure_installation". Дополнительную информацию по утилите смотрите в
# man mysql_secure_installation
# Чтобы разрешить подключения к базе данных извне, закомментируйте следующую строку.
# Если входящие сетевые подключения не требуются, оставьте строку незакомментированой
# для повышения безопасности системы.
SKIP="--skip-networking"
Читали? Делали?
Пользователь и группа "mysql" в наличии имеются, в чём нетрудно убедиться:
[console]
$ grep mysql /etc/passwd /etc/group
/etc/passwd:mysql:x:27:27:MySQL:/var/lib/mysql:/bin/false
/etc/group:mysql:x:27:
[/console]
сдаётся мне, что вы не поставили пакет
/n/php-5.3.10-i486-1.txz
Почему вы так решили? Ставил.
/etc/rc.d/rc.mysqld в части начальных комментариев. На всякий случай приведу здесь перевод на русский:
Мб с комментами /etc/rc.d/rc.httpd тоже поможете? :rolleyes:
Читали? Делали?
С инглишем туго. В ночь сегодня займусь, спасибо.
ЗЫЖ Вопрос с комментированием httpd.conf остается открытым.
Почему вы так решили? Ставил.
потому-что
[console]$ grep 'etc/' /var/log/packages/php-5.3.8-i486-1
etc/
etc/php/
etc/httpd/
etc/httpd/php.ini-production
etc/httpd/mod_php.conf.example
etc/httpd/php.ini-development
etc/pear.conf
[/console]т.е. либо вы не ставили, либо вы не видите, что У ВАС в системе.
Мб с комментами /etc/rc.d/rc.httpd тоже поможете?
что там комментировать-то?!
$ cat /etc/rc.d/rc.httpd
#!/bin/sh
#
# /etc/rc.d/rc.httpd
#
# Start/stop/restart/graceful[ly restart]/graceful[ly]-stop
# the Apache (httpd) web server.
#
# To make Apache start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.httpd
#
# For information on these options, "man apachectl".
case "$1" in
'start')
/usr/sbin/apachectl -k start
;;
'stop')
/usr/sbin/apachectl -k stop
killall httpd
rm -f /var/run/httpd/*.pid
;;
'restart')
/usr/sbin/apachectl -k restart
;;
'graceful')
/usr/sbin/apachectl -k graceful
;;
'graceful-stop')
/usr/sbin/apachectl -k graceful-stop
;;
*)
echo "Usage: $0 {start|stop|restart|graceful|graceful-stop}"
;;
esac
слова start/stop? ну хорошо, первое значит "старт", второе значит "стоп" :P
А все-таки, можно узнать что именно настроить в httpd.conf для локального хостинга apache и, как следствие, обработки php-скриптов?
А все-таки, можно узнать что именно настроить в httpd.conf для локального хостинга apache и, как следствие, обработки php-скриптов?
ну во первых индексный файл сменить с index.html на index.php, во вторых раскомментировать Include /etc/httpd/mod_php.conf
Всё вроде-бы. Конечно ещё надо создать php.ini, из образцов, или самостоятельно.
Все, заработало. Всем сочувствующим/помогавшим спасибо/+1 smile
всем привет. решил не начинать новую тему, т.к речь здесь уже зашла про MySQL. У меня такая проблема: Slackware 14.0 x86, сам ничего не устанавливал, все уже есть в системе и дожидается настройки, поэтому никакие LAMP'ы и ему подобные приложения не ставил, решил связать все сам, все получилось кроме php и mysql. при попытке обратиться к БД из кода php вылезает
Fatal error: Call to undefined function mysql_connect()Вот кусок кода из моего php.ini:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
Тонко намекну:
# locate extensions/{mysql,mysqli}.so
/usr/lib64/php/extensions/mysql.so
/usr/lib64/php/extensions/mysqli.so
# ls /usr/lib64/php/extensions/msql.so
ls: невозможно получить доступ к /usr/lib64/php/extensions/msql.so: Нет такого файла или каталога
И да, у вас, если правильно путаю, уже есть пара достойных примеров php.ini:
# locate php.ini-
/etc/httpd/php.ini-production
/etc/httpd/php.ini-development
думал нашел ошибку в php.ini:
extension=msql.soизменил на
extension=mysql.soкак оказалось, дело не в этом. Еще решил поправить
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"на
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "/usr/lib/php/extensions/" что также не помогло
bormant, я новичок, пожалуйста, можно без намеков, а прямо))) уж очень хочется разобраться в этом, весь гугл облазил и безрезультатно, вся надежда на вас.
можно без намеков, а прямо)
Давайте убедимся, что всё остальное в порядке:
# cp /etc/httpd/php.ini{,.bak}
# cp /etc/httpd/php.ini{-production,}
# grep php /etc/httpd/httpd.conf
Include /etc/httpd/mod_php.conf
# cat << EOF > /srv/www/htdocs/index.php
<?php
phpinfo();
?>
EOF
# chmod a+x /etc/rc.d/rc.httpd
# /etc/rc.d/rc.httpd start
# lynx -dump http://localhost/index.php | grep -A3 ^mysql
mysql
MySQL Support enabled
Active Persistent Links 0
--
mysqli
MysqlI Support enabled
Client API library version mysqlnd 5.0.10 - 20111026 - $Id:
--
mysqlnd
mysqlnd enabled
Version mysqlnd 5.0.10 - 20111026 - $Id:
Если в подобном варианте всё также, анализируйте разницу между своими настройками и дистрибутивными.
Вот что получилось:
# lynx -dump http://localhost/index.php | grep -A3 ^mysql
mysqlnd
mysqlnd enabled
Version mysqlnd 5.0.10 - 20111026 - $Id:
Необходимая пара расширений не подключена.
Проверяем:
# grep '^\s*extension=my\|^\s*extension_dir' /etc/httpd/php.ini
extension=mysql.so
extension=mysqli.so
# ls -1 /usr/lib/php/extensions/mysql*
/usr/lib/php/extensions/mysql.so
/usr/lib/php/extensions/mysqli.so
# ls /var/log/packages/php-*
/var/log/packages/php-5.4.7-i486-1
# grep /mysql.*so$ /var/log/packages/php-*
usr/lib/php/extensions/mysqli.so
usr/lib/php/extensions/mysql.so
# find /etc -name \*.new
# cat /etc/*version; uname -m
Slackware 14.0
i686
Все проверил, выводы в точности такие как вы привели. Это заговор какой-то прям - все есть но не работает)