Базовая настройка APACHE, PHP, MYSQL

Установка APACHE

debian-practice:/home/user# apt-get install apache2

Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libexpat1 libmysqlclient15off libpq5 mysql-common openssl
openssl-blacklist ssl-cert
Предлагаемые пакеты:
apache2-doc apache2-suexec apache2-suexec-custom ca-certificates
НОВЫЕ пакеты, которые будут установлены:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libexpat1 libmysqlclient15off libpq5 mysql-common
openssl openssl-blacklist ssl-cert
обновлено 0, установлено 13 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0B/11,2MB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 25,4MB.
Хотите продолжить [Д/н]? y
Смена носителя: вставьте диск с меткой
'Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 DVD Binary-1 20090214-16:54'
в устройство '/cdrom/' и нажмите ввод

Предварительная настройка пакетов ...
Выбор ранее не выбранного пакета openssl.
(Чтение базы данных... на данный момент установлено 22826 файлов и каталогов.)
Распаковывается пакет openssl (из файла .../openssl_0.9.8g-15_i386.deb)...
Выбор ранее не выбранного пакета openssl-blacklist.
Распаковывается пакет openssl-blacklist (из файла .../openssl-blacklist_0.4.2_all.deb)...
Выбор ранее не выбранного пакета libapr1.
Распаковывается пакет libapr1 (из файла .../apr/libapr1_1.2.12-5_i386.deb)...
Выбор ранее не выбранного пакета libexpat1.
Распаковывается пакет libexpat1 (из файла .../libexpat1_2.0.1-4_i386.deb)...
Выбор ранее не выбранного пакета mysql-common.
Распаковывается пакет mysql-common (из файла .../mysql-common_5.0.51a-24_all.deb)...
Выбор ранее не выбранного пакета libmysqlclient15off.
Распаковывается пакет libmysqlclient15off (из файла .../libmysqlclient15off_5.0.51a-24_i386.deb)...
Выбор ранее не выбранного пакета libpq5.
Распаковывается пакет libpq5 (из файла .../libpq5_8.3.6-1_i386.deb)...
Выбор ранее не выбранного пакета libaprutil1.
Распаковывается пакет libaprutil1 (из файла .../libaprutil1_1.2.12+dfsg-8_i386.deb)...
Выбор ранее не выбранного пакета apache2-utils.
Распаковывается пакет apache2-utils (из файла .../apache2-utils_2.2.9-10+lenny2_i386.deb)...
Выбор ранее не выбранного пакета apache2.2-common.
Распаковывается пакет apache2.2-common (из файла .../apache2.2-common_2.2.9-10+lenny2_i386.deb)...
Выбор ранее не выбранного пакета apache2-mpm-worker.
Распаковывается пакет apache2-mpm-worker (из файла .../apache2-mpm-worker_2.2.9-10+lenny2_i386.deb)...
Выбор ранее не выбранного пакета apache2.
Распаковывается пакет apache2 (из файла .../apache2_2.2.9-10+lenny2_all.deb)...
Выбор ранее не выбранного пакета ssl-cert.
Распаковывается пакет ssl-cert (из файла .../ssl-cert_1.0.23_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет openssl (0.9.8g-15) ...
Настраивается пакет openssl-blacklist (0.4.2) ...
Настраивается пакет libapr1 (1.2.12-5) ...
Настраивается пакет libexpat1 (2.0.1-4) ...
Настраивается пакет mysql-common (5.0.51a-24) ...
Настраивается пакет libmysqlclient15off (5.0.51a-24) ...
Настраивается пакет libpq5 (8.3.6-1) ...
Настраивается пакет libaprutil1 (1.2.12+dfsg-8) ...
Настраивается пакет apache2-utils (2.2.9-10+lenny2) ...
Настраивается пакет apache2.2-common (2.2.9-10+lenny2) ...
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Настраивается пакет apache2-mpm-worker (2.2.9-10+lenny2) ...
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
Настраивается пакет apache2 (2.2.9-10+lenny2) ...
Настраивается пакет ssl-cert (1.0.23) ...

Установка PHP

debian-practice:/home/user# apt-get install libapache2-mod-php5
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
apache2-mpm-prefork php5-common
Предлагаемые пакеты:
php-pear
Пакеты, которые будут УДАЛЕНЫ:
apache2-mpm-worker
НОВЫЕ пакеты, которые будут установлены:
apache2-mpm-prefork libapache2-mod-php5 php5-common
обновлено 0, установлено 3 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0B/3085kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 6300kB.
Хотите продолжить [Д/н]? y
dpkg: зависимости мешают удалению пакета apache2-mpm-worker, но по вашему указанию
он всё равно будет удалён:
apache2 зависит от apache2-mpm-worker (>= 2.2.9-10+lenny2) | apache2-mpm-prefork (>= 2.2.9-10+lenny2) | apache2-mpm-event (>= 2.2.9-10+lenny2), однако:
Пакет apache2-mpm-worker будет удалён.
Пакет apache2-mpm-prefork не установлен.
Пакет apache2-mpm-event не установлен.
(Чтение базы данных... на данный момент установлено 23826 файлов и каталогов.)
Удаляется пакет apache2-mpm-worker...
Stopping web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting .
Выбор ранее не выбранного пакета apache2-mpm-prefork.
(Чтение базы данных... на данный момент установлено 23817 файлов и каталогов.)
Распаковывается пакет apache2-mpm-prefork (из файла .../apache2-mpm-prefork_2.2.9-10+lenny2_i386.deb)...
Выбор ранее не выбранного пакета php5-common.
Распаковывается пакет php5-common (из файла .../php5-common_5.2.6.dfsg.1-1+lenny2_i386.deb)...
Выбор ранее не выбранного пакета libapache2-mod-php5.
Распаковывается пакет libapache2-mod-php5 (из файла .../libapache2-mod-php5_5.2.6.dfsg.1-1+lenny2_i386.deb)...
Настраивается пакет apache2-mpm-prefork (2.2.9-10+lenny2) ...
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
Настраивается пакет php5-common (5.2.6.dfsg.1-1+lenny2) ...
Настраивается пакет libapache2-mod-php5 (5.2.6.dfsg.1-1+lenny2) ...

Creating config file /etc/php5/apache2/php.ini with new version
Reloading web server config: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
.
debian-practice:/home/user# apt-get install php5-mysql
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
php5-mysql
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0B/65,6kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 246kB.
Выбор ранее не выбранного пакета php5-mysql.
(Чтение базы данных... на данный момент установлено 23869 файлов и каталогов.)
Распаковывается пакет php5-mysql (из файла .../php5-mysql_5.2.6.dfsg.1-1+lenny2_i386.deb)...
Настраивается пакет php5-mysql (5.2.6.dfsg.1-1+lenny2) ...

Установка mysql

debian-practice:/home/user# apt-get install mysql-server
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl libplrpc-perl libterm-readkey-perl mysql-client-5.0
mysql-server-5.0 psmisc
Предлагаемые пакеты:
dbishell libipc-sharedcache-perl libcompress-zlib-perl tinyca
НОВЫЕ пакеты, которые будут установлены:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl libplrpc-perl libterm-readkey-perl mysql-client-5.0
mysql-server mysql-server-5.0 psmisc
обновлено 0, установлено 10 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0B/35,5MB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 105MB.
Хотите продолжить [Д/н]? y
Предварительная настройка пакетов ...
Выбор ранее не выбранного пакета libnet-daemon-perl.
(Чтение базы данных... на данный момент установлено 23876 файлов и каталогов.)
Распаковывается пакет libnet-daemon-perl (из файла .../libnet-daemon-perl_0.38-1.1_all.deb)...
Выбор ранее не выбранного пакета libplrpc-perl.
Распаковывается пакет libplrpc-perl (из файла .../libplrpc-perl_0.2017-1.1_all.deb)...
Выбор ранее не выбранного пакета libdbi-perl.
Распаковывается пакет libdbi-perl (из файла .../libdbi-perl_1.605-1_i386.deb)...
Выбор ранее не выбранного пакета libdbd-mysql-perl.
Распаковывается пакет libdbd-mysql-perl (из файла .../libdbd-mysql-perl_4.007-1_i386.deb)...
Выбор ранее не выбранного пакета mysql-client-5.0.
Распаковывается пакет mysql-client-5.0 (из файла .../mysql-client-5.0_5.0.51a-24_i386.deb)...
Выбор ранее не выбранного пакета psmisc.
Распаковывается пакет psmisc (из файла .../psmisc/psmisc_22.6-1_i386.deb)...
Выбор ранее не выбранного пакета mysql-server-5.0.
Распаковывается пакет mysql-server-5.0 (из файла .../mysql-server-5.0_5.0.51a-24_i386.deb)...
Выбор ранее не выбранного пакета libhtml-template-perl.
Распаковывается пакет libhtml-template-perl (из файла .../libhtml-template-perl_2.9-1_all.deb)...
Выбор ранее не выбранного пакета libterm-readkey-perl.
Распаковывается пакет libterm-readkey-perl (из файла .../libterm-readkey-perl_2.30-4_i386.deb)...
Выбор ранее не выбранного пакета mysql-server.
Распаковывается пакет mysql-server (из файла .../mysql-server_5.0.51a-24_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libnet-daemon-perl (0.38-1.1) ...
Настраивается пакет libplrpc-perl (0.2017-1.1) ...
Настраивается пакет libdbi-perl (1.605-1) ...
Настраивается пакет libdbd-mysql-perl (4.007-1) ...
Настраивается пакет mysql-client-5.0 (5.0.51a-24) ...
Настраивается пакет psmisc (22.6-1) ...
Настраивается пакет mysql-server-5.0 (5.0.51a-24) ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld ..
Checking for corrupt, not cleanly closed and upgrade needing tables..
Настраивается пакет libhtml-template-perl (2.9-1) ...
Настраивается пакет libterm-readkey-perl (2.30-4) ...
Настраивается пакет mysql-server (5.0.51a-24) …

Создание каталога под сайт

Просматриваем домашний каталог
debian-practice:/etc/apache2# ls -l /home/user/
итого 28
drwxr-xr-x 3 user user 4096 Авг 6 21:58 putty
-rw-r--r-- 1 user user 17106 Авг 6 21:58 putty-log.txt
drwxr-xr-x 2 user user 4096 Авг 7 02:40 Каталог с русскими бУквами

Создаем каталог под сайт
debian-practice:/etc/apache2# mkdir /home/user/website-01

Устанавливаем права записи для группы
debian-practice:/etc/apache2# chmod g+w /home/user/website-01/

Меняем группу доступа к папке
debian-practice:/etc/apache2# chgrp user /home/user/website-01/

Просматриваем домашний каталог
debian-practice:/etc/apache2# ls -la /home/user/
итого 64
drwxr-xr-x 6 user user 4096 Авг 12 14:28 .
drwxr-xr-x 4 root root 4096 Авг 7 07:29 ..
-rw------- 1 user user 782 Авг 10 20:37 .bash_history
-rw-r--r-- 1 user user 220 Авг 5 00:48 .bash_logout
-rw-r--r-- 1 user user 3116 Авг 5 00:48 .bashrc
drwxr-xr-x 2 user user 4096 Авг 12 14:14 .mc
-rw-r--r-- 1 user user 675 Авг 5 00:48 .profile
drwxr-xr-x 3 user user 4096 Авг 6 21:58 putty
-rw-r--r-- 1 user user 17106 Авг 6 21:58 putty-log.txt
drwxrwxr-x 2 root user 4096 Авг 12 14:28 website-01
-rw------- 1 user user 122 Авг 12 14:12 .Xauthority
drwxr-xr-x 2 user user 4096 Авг 7 02:40 Каталог с русскими бУквами

Настройка APACHE

Просматриваем каталог настройки apache
debian-practice:/etc/apache2# ls -l
итого 40
-rw-r--r-- 1 root root 10104 Янв 20 2009 apache2.conf Это основной файл настроек
drwxr-xr-x 2 root root 4096 Авг 10 19:25 conf.d
-rw-r--r-- 1 root root 378 Янв 20 2009 envvars
-rw-r--r-- 1 root root 0 Авг 10 19:25 httpd.conf
drwxr-xr-x 2 root root 4096 Авг 10 19:27 mods-available
drwxr-xr-x 2 root root 4096 Авг 10 19:27 mods-enabled
-rw-r--r-- 1 root root 513 Янв 20 2009 ports.conf
drwxr-xr-x 2 root root 4096 Авг 10 19:25 sites-available Здесь содержаться доступные сайты
drwxr-xr-x 2 root root 4096 Авг 10 19:25 sites-enabled

Просмотр стандартной конфигурации

debian-practice:/etc/apache2# cd sites-available/

Просматриваем содержимое файла настроек сайта по умолчанию
debian-practice:/etc/apache2# cat sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/> Здесь указан каталог и его настройки
Options Indexes FollowSymLinks MultiViews Указана опция "Следовать сим. ссылкам" она нам нужна
AllowOverride None
Order allow,deny Указан порядок проверки прав доступа к ресурсу
allow from all Разрешен доступ для всех
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Создание ссылки на каталог сайта

debian-practice:/etc/apache2# cd /var/www/ Переходим в каталог сайта по умолчанию
debian-practice:/var/www# ln -s /home/user/website-01/ Создаем ссылку на созданный каталог

Работа с MYSQL

debian-practice:/home/user/website-01# mysql -u root -proot Соединение с СУБД
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.0.51a-24 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Выбор схемы mysql
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
Просмотр таблицы пользователей
mysql> desc user
-> ;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | char(41) | NO | | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+
37 rows in set (0.02 sec)

Просмотр списка пользователей
mysql> select user,host from user;
+------------------+-----------------+
| user | host |
+------------------+-----------------+
| root | 127.0.0.1 |
| root | debian-practice |
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-----------------+
4 rows in set (0.01 sec)

Создание схемы mp3
mysql> create database mp3;
Query OK, 1 row affected (0.00 sec)

Создание пользователя mp3
mysql> grant all privileges on mp3.* to 'mp3'@'%' identified by 'mp3';
Query OK, 0 rows affected (0.00 sec)

Выбор схемы mp3
mysql> use mp3
Database changed
mysql> CREATE TABLE `mp3` (
-> `id` int(11) NOT NULL,
-> `author` varchar(250) NOT NULL,
-> `album` varchar(250) NOT NULL,
-> `title` varchar(250) NOT NULL,
-> `link` text NOT NULL,
-> PRIMARY KEY (`id`)
-> );
Query OK, 0 rows affected (0.01 sec)

Добавляем данные
mysql> INSERT INTO `mp3` (`id`, `author`, `album`, `title`, `link`)
-> VALUES (105,'Игорь Федоров','Модель Для Сборки','Маленькие Заленые Нечеловечки',
-> 'http://10.1.16.164/mds/rasskazi/024-Igor_Fedorov-Malenkie_zalenye_nechelovechki.mp3');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `mp3` (`id`, `author`, `album`, `title`, `link`)
-> VALUES (106,'Юрий Никитин','Модель Для Сборки','Последний День Отпуска',
-> 'http://10.1.16.164/mds/rasskazi/038-Yurii_Nikitin-Poslednii_den_otpuska.mp3');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO `mp3` (`id`, `author`, `album`, `title`, `link`)
-> VALUES (107,'Василий Шукшин','Модель Для Сборки','До Третьих Петухов',
-> 'http://10.1.16.164/mds/rasskazi/014-Vasilii_Shukshin-Do_tretih_petuhov.mp3');
Query OK, 1 row affected (0.00 sec)

Просмотр кол-ва строк
mysql> select count(*) from mp3;
+----------+
| count(*) |
+----------+
| 3 |
+----------+
1 row in set (0.00 sec)

mysql> exit Завершение работы
Bye

Настройка MYSQL

Просматриваем как работает mysql в сети (адрес)
debian-practice:/home/user/website-01# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:49221 *:* LISTEN 1802/rpc.statd
tcp 0 0 localhost:mysql *:* LISTEN 2181/mysqld Работает на локальном соединеии
tcp 0 0 *:sunrpc *:* LISTEN 1791/portmap
tcp 0 0 *:ftp *:* LISTEN 2570/vsftpd
tcp 0 0 *:ssh *:* LISTEN 2099/sshd
tcp 0 0 localhost:smtp *:* LISTEN 2537/exim4
tcp 0 0 localhost:6010 *:* LISTEN 2663/0
tcp 0 144 dhcp16-183.nikom.ru:ssh gocha.nikom.ru:38965 ESTABLISHED 2661/sshd: user [pr
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN 2560/smbd
tcp6 0 0 [::]:www [::]:* LISTEN 2608/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2099/sshd
tcp6 0 0 localhost:6010 [::]:* LISTEN 2663/0
tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN 2560/smbd

Переходим в каталог настроек
debian-practice:/home/user/website-01# cd /etc/mysql/

Просмотр файлов
debian-practice:/etc/mysql# ls
conf.ddebian.cnf debian-start my.cnf

Копируем файл настроек чтобы можно было откатиться назад
debian-practice:/etc/mysql# cp my.cnf my.cnf.old

Запускаем нужный нам редактор файлов (mc или nano) и редактируем
debian-practice:/etc/mysql# mc

Смотрим что изменилось в файле
debian-practice:/etc/mysql# diff my.cnf my.cnf.old
47c47 В строке 47 произошла замена
< bind-address= 0.0.0.0 Это то что сейчас
---
> bind-address= 127.0.0.1 Это то что было

Перезапускаем mysql
debian-practice:/etc/mysql# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Просматриваем как работает mysql в сети (адрес)
debian-practice:/etc/mysql# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:49221 *:* LISTEN 1802/rpc.statd
tcp 0 0 *:mysql *:* LISTEN 3074/mysqld Теперь можно подцепляться к mysql из сети разными клиентами
tcp 0 0 *:sunrpc *:* LISTEN 1791/portmap
tcp 0 0 *:ftp *:* LISTEN 2570/vsftpd
tcp 0 0 *:ssh *:* LISTEN 2099/sshd
tcp 0 0 localhost:smtp *:* LISTEN 2537/exim4
tcp 0 0 localhost:6010 *:* LISTEN 2663/0
tcp 0 144 dhcp16-183.nikom.ru:ssh gocha.nikom.ru:38965 ESTABLISHED 2661/sshd: user [pr
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN 2560/smbd
tcp6 0 0 [::]:www [::]:* LISTEN 2608/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2099/sshd
tcp6 0 0 localhost:6010 [::]:* LISTEN 2663/0
tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN 2560/smbd

Подготовка скриптов PHP

Главная страница

Просмотр каталога сайта по умолчанию
debian-practice:/var/www# ls
index.html

Копируем файл index.html в наш подкаталог
debian-practice:/var/www# cp index.html /home/user/website-01/
debian-practice:/var/www# cd /home/user/website-01/

Заходим в наш подкаталог
debian-practice:/home/user/website-01# ls -la
итого 12
drwxrwxr-x 2 root user 4096 Авг 12 14:36 .
drwxr-xr-x 6 user user 4096 Авг 12 14:28 ..
-rw-r--r-- 1 root root 83 Авг 12 14:36 index.html

меняем группу доступа к файлу
debian-practice:/home/user/website-01# chgrp user index.html

меняем права доступа к фалу
debian-practice:/home/user/website-01# chmod g+w index.html

переименовываем файл
debian-practice:/home/user/website-01# mv index.html index.php

Смотрим содержимое
debian-practice:/home/user/website-01# ls -l
итого 4
-rw-rw-r-- 1 root user 83 Авг 12 14:36 index.php

Редактируем файл
debian-practice:/home/user/website-01# nano index.php

Смотри что он содержит после редактирования
debian-practice:/home/user/website-01# cat index.php
<html>
<body>
<h1>Web Site - 01</h1>
<?php phpinfo(); ?>
</body>
</html>

Работа с базой

Заходим в наш подкаталог
debian-practice:/etc/mysql# cd /home/user/website-01

Создаем пустой файл
debian-practice:/home/user/website-01# touch db.php

Меняем группу доступа к файлу
debian-practice:/home/user/website-01# chgrp user db.php

Меняем права доступа к файлу
debian-practice:/home/user/website-01# chmod g+w db.php

Редактируем файл
debian-practice:/home/user/website-01# nano db.php

Смотрим что он содержит после редактирования
debian-practice:/home/user/website-01# cat db.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>read db</title>
<head/>
<body>
<?php
/* Connecting, selecting database */
/* Указываем соединение с субд (адрес localhost, пользователь mp3, пароль mp3) */
$link = mysql_connect("localhost", "mp3", "mp3") or die("Could not connect");

echo "Connected successfully" ;
mysql_select_db("mp3") or die("Could not select database");

//mysql_query( "set names 'utf8'" ) or die( "query set names failed" );

/* Performing SQL query */
$query = "SELECT * FROM mp3";
$result = mysql_query($query) or die("Query failed");

/* Printing results in HTML */
echo "<table border='1' width='100%'>\n";

for( $col_idx=0; $col_idx<mysql_num_fields($result); $col_idx++ )
{
echo "<td><b>";
echo htmlspecialchars(mysql_field_name($result,$col_idx));
echo "</b></td>";
}

while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "\t<tr>\n" ;
foreach ($line as $col_value)
{
echo "\t\t<td>";
echo htmlspecialchars($col_value);
echo "</td>\n";
}
echo "\t</tr>\n" ;
}
echo "</table>\n" ;
/* Free resultset */
/* Closing connection */
mysql_close($link);
?>
</body>
<html>

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

Главная страница

Для доступа к главной странице наберем в браузере следующий адрес
http://ip_адрес_нашего_сервера_linux/website-01/

Работа с базой

Для доступа к странице работы с СУБД наберем в браузере следующий адрес
http://ip_адрес_нашего_сервера_linux/website-01/db.php

Комментариев нет:

Отправить комментарий