This repository has been archived by the owner on Oct 25, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
160 lines (108 loc) · 8.22 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
ВНИМАНИЕ: Всички указания са дадени така, сякаш ще се изпълняват върху
операционната система ГНУ/Линукс.
----------------------------------------
1. Необходим софтуер
----------------------------------------
Ето какво ще ви е необходимо, за да пуснете софтуера на Моята библиотека:
* Уеб сървър с PHP (версия на PHP >= 5.1)
Препоръчвам Apache 2.0. С друг не съм правил тестове, но най-вероятно и
Apache 1.3 ще върши работа.
* MySQL сървър (версия >= 4.1)
Ползвам MySQL 5.0.x, но би трябвало да работи и с MySQL 4.1.x.
Екстри
------
За да можете да пращате електронна поща, е необходимо да инсталирате пакета Mail
от PEAR (http://pear.php.net/). Ако пък искате да ползвате SMTP, ще ви е нужен и
пакета Net.
----------------------------------------
2. Разархивиране
----------------------------------------
Разкомпресирайте архива в директорията, от която уеб сървъра сервира съдържание.
Във въпросната директория ще се създаде нова папка с име mylib. По-надолу ще се
обръщам към тази нова папка с името /PATH/TO/MYLIB-DIR.
Разбира се, можете да сложите софтуера в коя да е директория, стига сървъра да
може да я намери след това. ;-) Прегледайте раздела „4. Достъп чрез http“ за
повече информация.
Сега е нужно да разрешите на софтуера (сървъра) да пише в следните директории:
cache/, log/, to-do/ и всички поддиректории на content/. (Нека сървъра върви
под името SRVUSER от групата SRVGROUP.)
Това става най-лесно през командния ред:
cd /PATH/TO/MYLIB-DIR
chown -R SRVUSER:SRVGROUP cache log to-do content/*
Ако нямате представа като кой потребител върви сървъра, разгледайте
конфигурационния файл на Апаче (httpd.conf). Потърсете редовете, започващи
съответно с „User“ и „Group“. В краен случай ползвайте следната команда, която
ще даде достъп за писане в съответните директории на всички потребители:
chmod -R a+w cache log to-do content/*
След това копирайте файла config.php.sample като config.php:
cp config.php.sample config.php
----------------------------------------
3. База от данни
----------------------------------------
3.1.а. Нова база от данни
Създайте нова база от данни за новата библиотека. По желание можете да създадете
и отделен потребител, който да има достъп до новата база от данни. Избора е ваш.
3.1.б. Съществуваща база от данни
Ако нямате възможност да създадете нова база от данни, можете да ползвате
съществуваща такава. В такъв случай си изберете представка за новите таблици,
за да не се получат проблеми с наличните таблици в базата.
След това отворете файла tables.sql и заменете низа „/*$prefix*/“ с избраната
представка плюс долна черта. Например, ако сте избрали „ml“ за представка,
заменете „/*$prefix*/“ с „ml_“.
3.2. Настройки
В конфигурационния файл (config.php), в масива $cfg['db'], попълнете
променливите server, user, pass и name.
3.3. Популация
Накрая вмъкнете съдържанието на файла tables.sql в новата база от данни.
Ако искате да направите копие на Моята библиотека, си вземете текущия SQL дъмп
от http://purl.org/NET/mylib/about
----------------------------------------
4. Достъп чрез http
----------------------------------------
По подразбиране конфигурационния файл (config.php) съдържа следните два реда:
$cfg['webroot'] = '/mylib/index.php';
$cfg['docroot'] = '/mylib';
$cfg['webroot'] указва пътя към основния скрипт, например:
http://localhost/mylib/index.php
$cfg['docroot'] указва пряк път към статичните файлове, например:
http://localhost/mylib/img/favicon.png
За да промените успешно променливите webroot и docroot, е нужно да имате достъп
до конфигурационния файл на Апаче (httpd.conf). Ако искате да ползвате следните
стойности:
$cfg['webroot'] = '/mylib';
$cfg['docroot'] = '/mylib-docroot';
трябва да добавите долните два реда в httpd.conf:
Alias /mylib /PATH/TO/MYLIB-DIR/index.php
Alias /mylib-docroot /PATH/TO/MYLIB-DIR
По този начин основния скрипт ще се извиква чрез http://localhost/mylib, а
статичните файлове чрез http://localhost/mylib-docroot/SOMEFILE.STATIC
----------------------------------------
5. Красиви адреси
----------------------------------------
По подразбиране генерираните вътрешни адреси изглеждат така:
http://myhost/mylib/index.php?action=text&id=1
Ако сървъра ви подава променливата PATH_INFO на PHP, можете да използвате това и
да разкрасите адресите в библиотеката. Нужно е да промените конфигурационната
променлива has_path_info:
$cfg['has_path_info'] = true;
След това горния адрес ще изглежда така:
http://myhost/mylib/index.php/text/1
Ако Апаче не подава променливата PATH_INFO, добававете следното в
конфигурационния му файл (httpd.conf):
AcceptPathInfo On
Разгледайте документацията на Апаче за повече информация.
----------------------------------------
6. Администраторска сметка
----------------------------------------
След като подкарате софтуера, е добре да си създадете администраторска сметка,
за да можете да разглеждате и страниците, забранени за обикновени потребители.
Първо се регистрирайте, а след това пратете следната заявка към базата от данни
(нека MY_USERNAME е потребителското ви име):
UPDATE /*$prefix*/user SET `group` = 'a' WHERE username = 'MY_USERNAME';
----------------------------------------
7. Обратна връзка
----------------------------------------
Има вероятност да сте стигнали дотук и все още да не сте успели да подкарате
софтуера. В такъв случай ми пишете и кажете кое ви затруднява. Така лека-полека
тези указания ще се подобрят.
Пишете ми и в случай че има какво да ми пишете. ;-)