|
|
|
.: Установка веб-сервера с PHP-скриптингом и MySQL на базе OpenBSD :.
|
|
© Карепанов Олег Контакт с автором: webmater@oganer.net
|
СОДЕРЖАНИЕ
|
|
|
Компьютер на котором это все устанавливалось:
IBM - совместимый компьютер (aka архитектура i386), процессор AMD - 450 МГц., оперативная память 128Мбайт, жесткий диск 4 Гбайт, дисковод 3,5'', сетевая плата 10/100Мбит.
Конечно, компьтер может как скромнее (см. минимальные требования OpenBSD здесь и здесь), так и более производительным (если у Вас много сайтов или предполагается большая пользовательская нагрузка). |
Установка OpenBSD 3.4
|
Для установки OpenBSD 3.4 необходимо создать загрузочную дискету.
Для создания загрузочной дискеты необходимо скачать
образ диска соответствующей версии OpenBSD. Данный документ подразумевает версию 3.4, взять образ можно найти на нашем FTP-сервере ftp://ftp.oganer.net/pub/OpenBSD/3.4/i386/ или на сервере разработчиков OpenBSD в Интернете - ftp://ftp.openbsd.org/pub/OpenBSD/3.4/i386/ . Существует три образа дискеты:
floppy34.fs - (Desktop PC) подходит для большинства конфигураций поддерживает большинство PCI и ISA сетевых карт, IDE и обычные SCSI котроллеры, а так же
некоторые сетевые PCMCIA устройства.
floppyB34.fs - (Servers) поддерживает большинство SCSI и RAID контроллеров, включена поддержка гигабитных сетевых
адаптеров.
floppyC34.fs - (Laptops) поддерживает все встроенные устройства, а так же большинство PCMCIA устройств практически
для всех ноутбуков.
Сделайте одну или если вы не уверены, несколько загрузочных дискет разного типа, как показано ниже.
Из под Windows (дискета должена быть чистыой)
Используем следующие варианты (через командную строку или в окне DOS'a) :
C:\> rawrite
RaWrite 1.2 - Write disk file to raw floppy diskette
Enter source file name: floppy34.fs
Enter destination drive: a
Please insert a formatted diskette into drive A: and press -ENTER- : Enter
или
C:\> fdimage -q floppy34.fs a:
или
C:\> ntrw floppy34.fs a:
3.5", 1.44MB, 512 bytes/sector
bufsize is 9216
1474560 bytes written
Не торопитесь искать эти команды в Windows, а то нибось уже ринулись писать команды в командной строке. Все эти утилиты
не входят в поставки Windows. Их нужно скачать например отсюда ftp://ftp.openbsd.org/pub/OpenBSD/3.4/tools/
и собрать. Программа rawrite.exe не работает под Windows NT/2000/XP.
Из под OpenBSD (т.е. на другой машине с установленной OpenBSD)
- Забираем образ дискеты во временный каталог (/var/tmp)
# cd /var/tmp
# ftp ftp://ftp.oganer.net/pub/OpenBSD/3.4/i386/floppy34.fs
Connected to plate.oganer.net.
220 plate.oganer.net FTP server (Version 6.5/OpenBSD) ready.
331 Guest login ok, send your email address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I.
250 CWD command successful.
Retrieving pub/OpenBSD/3.4/i386/floppy34.fs
local: floppy34.fs remote: floppy34.fs
229 Entering Extended Passive Mode (|||51335|)
150 Opening BINARY mode data connection for 'floppy34.fs' (1474560 bytes).
100% |**************************************************| 1440 KB 00:00
226 Transfer complete.
1474560 bytes received in 0.20 seconds (7.17 MB/s)
221 Goodbye.
- Форматируем дискету (желательно, но не необходимо, если дискета уже форматированная):
# fdformat /dev/rfd0c
Format 1440K floppy `/dev/rfd0c'? (y/n): y
Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done.
- Записываем образ на дискету:
# dd if=floppy34.fs of=/dev/rfd0c bs=32k
45+0 records in
45+0 records out
1474560 bytes transferred in 48.246 secs (30563 bytes/sec)
- Проверяем записанный образ (необязательно):
# cmp /dev/rfd0c floppy34.fs
Информацию по использованным командам можно получить командой man :
# man dd
# man cmp
# man fdformat
Ну вот, вроде и все. Затыков и примочек тут вроде возникнуть не должно, по крайней мере, у меня не возникло, если что читайте
источник, которым пользовался я сам:
http://www.openbsd.org/faq/faq4.html#MkInsMedia
Имея на руках такую установочную дискету можно идти дальше к установленной цели - WEB сервер.
Приступим к установке OpenBSD 3.4 на подготовленный компьютер, только что собранный или почищенный, или как Вам угодно...
При загрузке компа лезем в BIOS (если вам это слово не знакомо, то лезем вот на этот адрес:
http://rom.by/articles/biosinside/index.html или читаем мануал-описание прилагаемый к материнской плате), обычно это клавиша Del.
Ищем настройки Boot Device или, что-то вроде этого и выбираем загрузку с флопи-диска (First Boot Device). Вставляем нашу волшебную
дискету и перезагружаем комп (не забудьте сохранить настройки BIOS).
После загрузки OpenBSD 3.4 с дискеты на экране появится, в конце, вот такая надпись:
rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
erase ^?, werase ^W, kill ^U, intr ^C, status ^T
(I)nstall, (U)pgrade or (S)hell?
Прочитав или не читав этих сообщений нажимаем буковку i, что бы начать инсталляцию OpenBSD 3.4 на жесткий диск компа.
Далее необходимо следовать по шагам программы установки OpenBSD 3.4, нажимая в основном клавишу ENTER. После
каждого запроса в квадратных скобках будет стоять предложенное значение по умолчанию, Вам необходимо либо согласиться
с ним, нажав заветную клавишу ENTER или ввести иное значение из описанных в запросе (по соображению).
|
|
|
|
Вот что Вы увидите на экране во время работы мастера установки OpenBSD 3.4:
Welcome to the OpenBSD/i386 3.4 install program.
This program will help you install OpenBSD in a simple and rational way. At
any prompt except password prompts you can run a shell command by typing
'!foo', or escape to a shell by typing '!'. Default answers are shown in []'s
and are selected by pressing RETURN. At any time you can exit this program by
pressing Control-C and then RETURN, but quitting during an install can leave
your system in an inconsistent state.
Specify terminal type: [vt220] ENTER
Do you wish to select a keyboard encoding table? [no] ENTER
Тут мастер предложил выбрать тип терминала и сменить кодировку клавиатуры, мне конечно мало что эти надписи сказали,
хотя можно предположить, что по умолчанию кодировка для клавиатуры будет выбрана US, и я просто нажал волшебную
клавишу ENTER.
IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this
program can cause SIGNIFICANT data loss.
It is often helpful to have the installation notes handy. For complex disk
configurations, relevant disk hardware manuals and a calculator are useful.
Proceed with install? [no] y
Тут начинается самое важное, поэтому не пропустите ни одной буковки (семь раз прочел - один раз нажал клавишу). Из этих
иностранных слов следует что Вам предлагается сконфигурировать жесткий диск компа, ну там разбить его на разделы и
соответственно форматнуть их. Тут фича состоит в том что у UNIX' овых систем помимо основного раздела с данными есть
раздел свопа - для временного хранения данных и загрузочный раздел и эти разделы нужно создавать во время установки
системы. В каждом разделе для данных можно создавать еще дополнительные разделы и монтировать их как папки
(похоже на монтирование дисков в Windows). Значит тут нужно заранее подсчитать в секторах (1 сектор - 512байт), сколько вы
отведете под основной раздел, а сколько под своп. Для загрузочного раздела (MBR) отводится 63 сектора. Для своп раздела
необходимо отвести хотя бы 256Мбайт - 524288секторов по 512байт, все остальное можно отвести под один (в моем случае) или
несколько разделов. Нужно помнить, что своп раздел должен, желательно, создаваться в конце диска.
Ну ладненько поехали дальше...
Cool! Let's get to it...
You will now initialize the disk(s) that OpenBSD will use. To enable all
available security features you should configure the disk(s) to allow the
creation of separate filesystems for /, /tmp, /var, /usr, and /home.
Available disks are: wd0.
Which one is the root disk? (or done) [wd0] Enter
Мастер установки нашел Ваш диск под именем wd0 и предлагает выбрать его для инсталляции на него OpenBSD 3.4, если набрать
done и нажать ENTER, то процесс установки системы будет завершен. Если вы хотите установить систему на др.
дисковое устройство, то введите wd1 или wd2...
Do you want to use *all* of wd0 for OpenBSD? [no] y
На этом этапе предложено использовать весь диск под систему OpenBSD, по умолчанию в запросе стоит [no], если нажать
ENTER, то запустится программа fdisk, с помощью которой можно будет создать несколько разделов, один из которых
будет использоваться под OpenBSD. В моем случае я нажал y и мастер установки отвел все свободное пространство диска под
OpenBSD.
После этих не сложных манипуляций мастер установки автоматически запустит программу disklabel для создания разделов (label) на диске.
Командная строка будет иметь вид:
> [команда]
для вывода списка команд программы disklabel нужно после знака ">" ввести знак ? и нажать Enter.
Вот краткий список команд, который мне понадобился:
- a [имя раздела] - создать новый раздел;
- d [имя раздела] - удалить раздел;
- p [имя диска] - просмотреть данные о разделах.
Приступим к использованию этих команд. Для начала выясним какие имена разделов используются и под что. Имя моего диска
система уже определила - wd0, буква a используется для создания основного раздела (можно сказать Primary),
буква b - для создания своп раздела, все остальные буквы можно использовать для дополнительных разделов. Запомнили,
что буквы a и b являются зарезервированными, для определения имен разделов.
Выполнив команду:
> p m
получим на экране следующую информацию о диске и его разделах (буква m - показывать размер раздела в мегабайтах)
# using MBR partition 3: type A6 off 63 (0x3f) size 8466192 (0x812f10)
# /dev/rwd0c: type: ESDI disk: ESDI/IDE disk label: FUJITSU MPE3043A flags: bytes/sector: 512
sectors/track: 63 tracks/cylinder: 15 sectors/cylinder: 945 cylinders: 8959 total sectors: 8466255 free sectors: 8466192
rpm: 3600
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 4133.6M 0.0M unused 0 0
c: 4133.9M 0.0M unused 0 0
Как мы видим, диск полностью пустой и никаких разделов на нем нет. Буквой а обозначено доступное место на диске для создания
раздела, буквой с - весь размер диска. Приступим к созданию разделов. Размер отображается в мегабайтах, а в последней
колонке указано количество цилиндров, так же обратите внимание на строчку total sectors: 8466255 именно это число, указывающее,
на количество секторов мне пригодилось т.к. размер разделов я указывал в секторах, а не в мегабайтах.
Выполнив команду:
> a a
получим на экране строку запроса
offset: [63] Enter
показывает с какого сектора на диске будет начинаться основной раздел, еще раз 63 сектора отводится под MBR. Нажимаем
клавишу ENTER и получаем на экране следующий запрос
size: [8466192] 7941967
пишем новый размер в секторах для основного раздела (весь размер - размер под своп = основной размер). Нажимаем
клавишу ENTER и получаем на экране следующий запрос
Rounding to nearest cylinder: 524288
FS type: [4.2BSD] Enter
не использовано 524288 секторов, файловая система 4.2BSD. Если хотите поменять тип файловой системы, то это отдельная
тема, а сейчас жмите ENTER
mount point: [none] /
тут нужно указать каким символом или символами буде обозначаться корневая папка (root), обычно это символ обратный слеш.
|
|
|
Вот и все один из разделов создан, можно приступать к созданию свопа (вкратце).
Выполнив команду:
> a b
offset: [7941967] Enter size: [524288] Enter
Rounding to nearest cylinder: 614880
FS type: [4.2BSD] Enter
mount point: [swap] Enter
своп-раздел начинается со смещения 7941967, имеет размер в 524288 сектора по 512 байт итого 256Мбайт.
Повторим команду:
> p m
type: ESDI disk: ESDI/IDE disk label: FUJITSU MPE3043A flags: bytes/sector: 512 sectors/track: 63
tracks/cylinder: 15 sectors/cylinder: 945 cylinders: 8959 total sectors: 8466255 rpm: 3600 interleave: 1 trackskew: 0
cylinderskew: 0 headswitch: 0
# microseconds track-to-track seek: 0 # microseconds drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 3877.9M 0.0M 4.2BSD 2048 16384 320 # (Cyl. 0*- 8404*)
b: 256.0M 3877.9M swap # (Cyl. 8404*- 8958)
c: 4133.9M 0.0M unused 0 0 # (Cyl. 0 - 8958)
На этом этапе был разбит и отформатирован жесткий диск общим размером 4133,9Мбайт.
Далее используя команду:
> q
Write new label?: [y] Enter
Выходим из программы disklabel с сохранение результатов создания разделов на жестком диске. После этого будет выдано
предупреждение о создании новых разделов и файловой системы с потерей всех данных на диске.
Are you really sure that you're ready proceed? [no] y
Следующим шагом будет конфигурирование компьютера, как составного элемента компьютерной сети. Необходимо будет
указывать параметры настройки сетевых параметров, таких как IP-адрес, адрес шлюза, имя компьютера и т.д.
Enter system hostname (short form, e.g. 'foo'): newpc
В этом запросе необходимо указать имя компьютера (сетевое имя). Далее последует ряд запросов касающихся настройки
сетевого интерфейса компа (все имена вымышленные):
Configure the network? [yes] Enter
Available interfaces are: fxp0.
Which one do you wish to initialize? (or 'done') [fxp0] Enter
Symbolic (host) name for fxp0? [newpc] Enter
The default media for fxp0 is
media: Ethernet autoselect (100baseTX full-duplex)
Do you want to change the default media? [no] Enter
IP address for fxp0? (or 'dhcp') 165.165.137.55
Netmask? [255.255.255.0] Enter
Done - no available interfaces found.
DNS domain name? (e.g. 'bar.com') [my.domain] example.com
DNS nameserver? (IP address or 'none') [none] 165.165.137.1
Use the nameserver now? [yes] Enter
Default route? (IP address, 'dhcp' or 'none') 165.165.137.128
add net default: gateway 165.165.137.128
Edit hosts with ed? [no] Enter
Do you want to do any manual network configuration? [no] Enter
Внимательно следите за вводимыми данными и постарайтесь не делать ошибок.
После конфигурирования сетевого интерфейса мастер установи запросит с какого носителя будут устанавливаться основные
модули операционной системы:
You will now specify the location and names of the install sets you want to
load. You will be able to repeat this step until all of your sets have been
successfully loaded. If you are not sure what sets to install, refer to the
installation notes for details on the contents of each.
Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
device; or a (f)tp, (n)fs or (h)ttp server.
Where are the install sets? [or 'done'] f
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] Enter
На счет Proxy сервера, у меня дистрибутив находился на местном FTP узле и Proxy сервер не нужен в противном случае Вам
необходимо будет указать его имя и порт (все зависит от настроек етого сервера у Вас в сети).
Display the list of known ftp servers? [yes] n
Server? (IP address, hostname or 'done') example.com
Тут я отказался от вывода списка известных FTP серверов на которых можно взять дистрибутив OpenBSD. Далее указал имя
нашего FTP сервера с дистрибутивами.
Does the server support passive mode ftp? [yes] Enter
Указываем что используем пассивный режим для нашего FTP сервера. У нас нет никаких фаерволов и натов.
Противном случае придется выбрать активный режим.
Server directory? [pub/OpenBSD/3.4/i386] Enter
Login? [anonymous] Enter
По умолчанию на всех серверах используется именно этот путь, где лежит дистрибутив OpenBSD.
После успешного соединения с FTP сервером будет выдан список устанавливаемых модулей, включая X-терминал (типа виндов опена).
Если Вы хотите установить все модули, то в место нажатия Enter, как в моем случае, нужно ввести all.
|
|
|
|
Вот этот список модулей:
The following sets are available. Enter a filename, 'all' to select
all the sets, or 'done'. You may de-select a set by prepending a '-'
to its name.
[X] bsd [ ] bsd.rd [X] base34.tgz [X] etc34.tgz
[X] misc34.tgz [X] comp34.tgz [X] man34.tgz [X] game34.tgz
[ ] xbase34.tgz [ ] xshare34.tgz [ ] xfont34.tgz [ ] xserv34.tgz
File Name? (or 'done') [bsd.rd] Enter
Вот теперь мастер установок покажет список выбранных компонентов и приступит к установки их с FTP сервера:
The following sets are available. Enter a filename, 'all' to select
all the sets, or 'done'. You may de-select a set by prepending a '-'
to its name.
[X] bsd [X] bsd.rd [X] base34.tgz [X] etc34.tgz
[X] misc34.tgz [X] comp34.tgz [X] man34.tgz [X] game34.tgz
[ ] xbase34.tgz [ ] xshare34.tgz [ ] xfont34.tgz [ ] xserv34.tgz
File Name? (or 'done') [done] Enter
Ready to install sets? [yes] Enter
Вот и пошел родненький, процесс установки на экране...
Getting bsd ...
100% |**************************************************| 4735 KB 00:03
Getting bsd.rd ...
100% |**************************************************| 4275 KB 00:02
Getting base34.tgz ...
100% |**************************************************| 30267 KB 00:21
Getting etc34.tgz ...
100% |**************************************************| 1545 KB 00:01
Getting misc34.tgz ...
100% |**************************************************| 1909 KB 00:01
Getting comp34.tgz ...
100% |**************************************************| 17074 KB 00:13
Getting man34.tgz ...
100% |**************************************************| 6139 KB 00:04
Getting game34.tgz ...
100% |**************************************************| 2534 KB 00:01
И заканчивается он вот такими запросами:
Sets can be located on a (m)ounted filesystem; a (c)drom, (d)isk or (t)ape
device; or a (f)tp, (n)fs or (h)ttp server.
Where are the install sets? (or 'done') done
Do you wish sshd(8) to be started by default ? [yes] Enter
Do you expect to run the X Window System? [yes] n
Saving configuration files......done.
Generating initial host.random file ......done.
What timezone are you in? ('?' for list) [US/Pacific] Asia/Krasnoyarsk
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
# halt
syncing disks... done
The operating system has halted.
Please press any key to reboot.
Ну и так ясно, что нужна перезагрузка (halt). Можно, конечно выполнить команду reboot, это на Ваше усмотрение.
|
Прописывание дополнительных путей
|
После загрузки OpenBSD первым делом пропишем дополнительные пути, для этого нужно отредактировать файл .pofile который
находится в корне домашней папки пользователя, в данном случае это папка - /root.
Выполним следующую команду:
# vi /root/.profile
После выполнение этой команды текстовый редактор vi откроет файл .profile для просмотра и редактирования.
Краткая справка по редактору vi:
- I - включает режим редактирования, вставка символов;
- esc - переход из режима редактирования в командный;
- dd - удаление строки символов;
- :q - выход из редактора vi;
- :q! - выход без сохранения;
- :w - записать изменения;
- :w! - записать изменения даже если файл предназначен только для чтения.
Находим строку: PATH=/sbin:/usr/sbin:/bin:/usr/bin и дополняем ее до вида:
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin, записываем внесенные изменения и выходим из редактора vi.
Чтобы изменения вступили в силу необходимо перезагрузить компьютер, выполнив команду:
# reboot
Лишний раз перезагрузиться не помешает, заодно проверяется железо на момент перезагрузки.
|
Запуск WEB - сервера Apache
|
|
Проще простого, выполняем команду:
# vi /etc/rc.conf
Далее находим строку: httpd_flags=NO, изменяем ее на httpd_flags="" для обычного запуска WEB - сервера, в этом
случае будет определен корневой каталог - /var/www и дальше или выше этого каталога мы вылезти не сможем, или
изменяем строку на httpd_flags="-u", в этом случае корневой каталог будет определен как, / т.е. будут доступны все каталоги на
диске. С точки зрения безопасности - этот вариант отпадает, но зато появляется возможность на сайте указывать ссылки к файлам
находящимся в других папках.
После записи проделанных изменений необходимо перезапустить (если не запущен) модуль Apache, выполнив следующие команды:
# apachectl stop # apachectl start
Вот и все. Можно конечно просмотреть запущенные процессы, относящиеся к демону httpd, для этого выполним команду:
# ps ax | grep httpd
результат выполнения команды:
22315 ?? Is 0:00.15 httpd: parent (httpd)
4796 ?? I 0:00.03 httpd: child (httpd)
32733 ?? I 0:00.02 httpd: child (httpd)
31863 ?? I 0:00.04 httpd: child (httpd)
12664 ?? I 0:00.04 httpd: child (httpd)
6781 ?? I 0:00.05 httpd: child (httpd)
Отсюда видно, что главный (parent) процесс, запущен без указания корневого каталога.
Все настройки демона httpd, описаны и устанавливаются в файле - /var/www/conf/httpd.conf. В нем же устанавливается и
корневой каталог WEB-сервера, который не обязательно должен быть /var/www/. За это отвечает переменная: ServerRoot по
умолчанию она имеет значение /var/www/. Если вы измените значение корневого каталога, то придется менять все пути связанные
с /var/www/, поэтому это не стоит делать.
Вот так вот выглядит запущенный демон WEB - сервера с установленным корневым каталогом:
24476 ?? Is 0:00.14 httpd: parent [chroot /var/www] (httpd)
12544 ?? I 0:00.05 httpd: child (httpd)
10895 ?? I 0:00.05 httpd: child (httpd)
20321 ?? I 0:00.04 httpd: child (httpd)
21974 ?? I 0:00.04 httpd: child (httpd)
2339 ?? I 0:00.06 httpd: child (httpd)
Теперь проверяем работу WEB - сервера, для этого в любом интернет - браузере набираем адрес нашего WEB - сервера:
http://newpc.example.com по умолчанию имя компьютера в сети определяет имя WEB - сервера. Его так же можно изменить.
Оно указано в переменной: ServerName, но тогда необходимо будет на DNS - сервере локальной сети прописать в прямой и
обратной зоне соответствие DNS имени WEB - сервера с IP адресом WEB - сервера. На один IP адрес WEB - сервера можно
установить несколько виртуальных сайтов.
|
|
|
Установка MySQL для администрирования баз данных
|
Для установки MySQL нам понадобятся следующие пакеты:
- mysql-server-3.23.57p1.tgz
- p5-DBI-1.37.tgz
- p5-DBD-Msql-Mysql-1.22.19.tgz
- mysql-client-3.23.57.tgz
поэтому их необходимо предварительно скачать, например вот отсюда
ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386
или, если у Вас компьютер имеет доступ в Интернет, то можно при установки пакета указать вышеописанный путь, например:
# pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386/mysql-server-3.23.57p1.tgz
Как видите достаточно выполнить команду добавления одного пакета, все остальные, необходимые для работы MySQL, будут
закачены автоматически из текущего ftp сервера, в противном случае при установки будет выведено сообщение о том какого
пакета не хватает и процесс установки будет прерван.
После успешной установки пакетов будет выведено следующее сообщение:
Attempting to record package into `/var/db/pkg/mysql-server-3.23.57p1'
Attempting to record dependency on package `p5-DBI-1.37'
Attempting to record dependency on package `mysql-client-3.23.57'
Attempting to record dependency on package `p5-DBD-Msql-Mysql-1.22.19'
Attempting to record dependency on package `mysql-client-3.23.57'
Package `mysql-server-3.23.57p1' registered in `/var/db/pkg/mysql-server-3.23.57p1'
Чтобы узнать какие пакеты были установлены на ваш компьютер, джостаточно выполнить команду:
# pkg_info
результат выполнения команды:
mpg123-0.59rp1 mpeg audio 1/2 layer 1, 2 and 3 player
p5-DBI-1.37 unified perl interface for database access
mysql-client-3.23.57 multithreaded SQL database (client)
p5-DBD-Msql-Mysql-1.22.19 MySQL drivers for the Perl DBI
mysql-server-3.23.57p1 multithreaded SQL database (server)
libiconv-1.8 character set conversion library
gettext-0.10.40p1 GNU gettext
recode-3.6p1 convert files between character sets and usages
php4-core-4.3.3 server-side HTML-embedded scripting language
Теперь необходимо отредактировать системные файлы, в данном случае пакетный файл выполняемый при загрузки системы.
Открываем для редактирования файл rc.local и добавляем, в конце файла, строку:
/usr/local/bin/safe_mysqld &
обязательно в конце необходимо поставить &, чтобы скрипт safe_mysqld выполнился и передал управление ОС,
т.е. работал в фоновом режиме. Сохраняем сделанные изменения и перегружаем компьютер выполнив команду :
# reboot
После загрузки компьютера проверим работу MySQL, для этого нужно выполнить команду mysql, после успешного выполнения
команды Вы увидите на экране:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.57
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
последняя строка является командной строкой MySQL. Теперь можно выполнять различные команды MySQL, список команд
можно вывести введя знак ? и нажав кл. ENTER.
MySQL commands:
Note that all text commands must be first on line and end with ';'
help (\h) Display this help.
? (\?) Synonym for `help'.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute a SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
Посмотрим какие базы уже установлены, для этого введем следующую команду:
mysql> show databases;
обязательно в конце нужно поставить символ ";", вот что покажет MySQL:
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
теперь выберем активную базу и посмотрим, какие таблицы в ней есть, для начала выполним команду use имя базы данных:
mysql> use mysql
Database changed
База данных mysql содержит служебные таблицы, описание, содержание и назначения таблиц читайте
http://www.mysql.ru/docs/.
Выполним команду show tables:
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| usern |
+-----------------+
6 rows in set (0.00 sec)
таблица users содержит всех зарегистрированных пользователей, которые имеют доступ к различным таблицам и базам. Так же
в этой таблице определены правила доступа пользователей. На этом проверка работы MySQL, можно сказать закончена.
|
|
|
Установка PHP для WEB сервера
|
Для установки PHP нам понадобятся следующие пакеты:
- gettext-0.10.40p1.tgz
- libiconv-1.8.tgz
- php4-core-4.3.3.tgz
- recode-3.6p1.tgz
- php4-mysql-4.3.3 - модуль для рабрты с базами данных MySQL
- php4-sybase_ct-4.3.3 - модуль для рабрты с базами данных SyBase, MS SQL
- php4-gd-4.3.3-no_x11 - модуль для работы с графикой
поэтому их необходимо предварительно скачать, например вот отсюда
ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386 или, если у Вас компьютер имеет доступ в Интернет, то можно при установки
пакета указать вышеописанный путь, например:
# pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386/php4-core-4.3.3.tgz
Достаточно выполнить команду добавления одного пакета, все остальные, необходимые для работы PHP, будут закачены
автоматически из текущего ftp сервера.
После успешной установки пакетов будет выведено следующее сообщение:
+---------------
| To finish the install, enable the php4 module with:
| /usr/local/sbin/phpxs -s
|
| To enable parsing of PHP scripts, add the following to
| /var/www/conf/httpd.conf:
|
| AddType application/x-httpd-php .php
|
| Copy the config file below into /var/www/conf/php.ini
| /usr/local/share/doc/php4/php.ini-recommended
|
| Don't forget that the default OpenBSD httpd is chrooted
| into /var/www by default, so you may need to create support
| directories such as /var/www/tmp for PHP to work correctly.
+---------------
В этом сообщении описаны шаги завершающие этап установки модуля PHP для WEB сервера Apache.
Первое, что нужно сделать это выполнить команду:
# /usr/local/sbin/phpxs -s
после выполнения этой команды в файле httpd.conf появится следующая строка:
LoadModule php4_module /usr/lib/apache/modules/libphp4.so
Далее в этот же файл необходимо добавить следующие строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .phtml
После этого PHP код будет обрабатываться в файлах с указанным расширением.
На последок необходимо скопировать файл php.ini-recommended в папку /var/www/conf, выполнив следующую команду:
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
После выполнения всех вышеперечисленных этапов необходимо перезагрузить WEB сервер выполнив следующие команды:
# apachectl stop
/usr/sbin/apachectl stop: httpd stopped
# apachectl start
/usr/sbin/apachectl start: httpd started
Теперь осталось проверить работу PHP модуля, для этого создадим файл index.html в папке /var/www/htdocs и напишем там
следующую строку (не забудьте открыть и закрыть теги для вставки PHP кода):
echo 'Hello PHP!';
Сохранив файл, выполняем команду:
# lynx http://localhost/index.html
На экране должна появиться единственная строка: Hello PHP!, если Вы ее видите, то все в порядке иначе выполняем
установку PHP модуля заново.
После упешной проверки работы PHP - кода на WEB - сервере, приступим к установки модулей поддержки работы с
базами данных, для этого установим следующие модули (php4-mysql-4.3.3, php4-sybase_ct-4.3.3):
# pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386/php4-mysql-4.3.3.tgz
после успешной установки этого пакета будет выведено следующее сообщение:
Install notice:
+---------------
| Enable this module in php.ini using the following command:
|
| /usr/local/sbin/phpxs -a mysql
+---------------
Для завершающия этапа установки модуля нужно выполнить команду (активизация модуля):
# /usr/local/sbin/phpxs -a mysql
То же самое выполняем для установки второго модуля:
# pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386/php4-sybase_ct-4.3.3.tgz
сообщение после установки модуля:
Install notice:
+---------------
| Enable this module in php.ini using the following command:
|
| /usr/local/sbin/phpxs -a sybase_ct
+---------------
Активизация модуля:
# /usr/local/sbin/phpxs -a sybase_ct
Осталось установить модуль для работы с графикой, повторяем команду установки пакета расширений:
# pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/3.4/packages/i386/php4-gd-4.3.3-no_x11.tgz
сообщение после установки модуля:
Install notice:
+---------------
| Enable this module in php.ini using the following command:
|
| /usr/local/sbin/phpxs -a gd
+---------------
Активизация модуля (обязательно):
# /usr/local/sbin/phpxs -a gd
После установки и активизации всех вышеперечисленных модулей необходимо перезагрузить WEB сервер выполнив следующую команду:
# apachectl restart
/usr/sbin/apachectl restart: httpd restarted
На этом этап установки PHP можно считать завершенным, у нас имеется поддержка графики и баз данных.
|
Настройка FTP
|
Для настройки FTP достаточно сделать следующие шаги:
1. Создаем FTP пользователя, для этого выполняем команду и отвечаем на поставленные вопросы:
# adduser
Use option ``-silent'' if you don't want to see all warnings and questions.
Reading /etc/shells Reading /etc/login.conf Check /etc/master.passwd Check /etc/group
Ok, let's go. Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username []: ftp Enter full name []: User for FTP Enter shell csh ksh nologin sh [sh]: Enter
Uid [1001]: Enter Login group ftpuser [ftp]: Enter
Login group is ``ftp''. Invite ftpuser into other groups: guest no [no]: Enter
Login class auth-defaults auth-ftp-defaults daemon default staff
[default]: Enter Enter password []: ****** Enter password again []: ******
Name: ftp
Password: ****
Fullname: User for FTP
Uid: 1001
Gid: 1001 (ftp)
Groups: ftp
Login Class: default
HOME: /home/ftp
Shell: /bin/sh
OK? (y/n) [y]: y
Added user ``ftp'' Copy files from /etc/skel to /home/ftpuser
Домашний каталог пользователя (по умолчанию) ftp является /home/ftp. Этот каталог можно отредактировать, т.е. он может
быть расположен в любом каталоге диска, для этого нам нужно отредактировать файл настроек пользователя выполнив команду:
# chpass ftp
и изменить содержимое строки: Home directory: /home/ftp
2. Редактируем файл ftpchroot, выполнив команду:
# vi /etc/ftpchroot
добавляем строку: ftp - это имя пользователя FTP, для того чтобы домашний каталог пользователя при FTP подключении
являлся корневым и текущий пользователь не смог выйти за пределы домашнего каталога (в целях безопасности).
3. Последний шаг. Редактируем файл rc.conf, выполнив команду:
# vi /etc/rc.conf
находим строку: ftpd_flags="No" и заменяем ее на: ftpd_flags="-D". При указании ключа "-D", демон FTP
будет запускаться только в случая ftp-соединения.
Ну и на последок, перегружаем компьютер выполнив команду:
# reboot
|
|
|
|