root/releases/0.401/INSTALL

Revision 168, 7.3 kB (checked in by ben, 3 years ago)

Updated documentation
Created upgrade.php
Enabled wysiwyg by default

  • Property svn:eol-style set to native
Line 
1 Elgg version 0.4 installation instructions
2
3 Ben Werdmuller <ben@elgg.net>
4 21 January 2006
5
6
7 1. BEFORE YOU BEGIN
8
9 1.1 Requirements
10
11 Please read LICENSE.
12
13 Elgg currently requires the Apache web server with mod_rewrite
14 installed and the ability to send emails, plus PHP 4.3+ and MySQL
15 3.23+.  It has currently been tested on Apache installations running
16 Red Hat Linux and Microsoft Windows XP.
17
18 In your Apache configuration, you must have AllowOverride set to
19 All for the directory where Elgg is installed.
20
21 Elgg prefers to be installed on the root of a domain - for example,
22 at http://elgg.net/, as opposed to http://elgg.net/subdirectory/.
23 However, it has now been tested to work in subdirectories, although
24 this remains experimental until the next release.
25
26 You must have a database on the MySQL server ready for use by Elgg.
27
28 You must have the GD library installed.
29
30 For internationalisation, you must have gettext support installed
31 on your server and compiled into PHP.  If this is not found, Elgg
32 will revert to English.
33
34 If you have any problems installing, please consider joining
35 http://elgg.net/ and joining the Elgg Installation Support
36 community at http://elgg.net/support/ .
37
38
39 1.2 Recommendations
40
41 For this release, it is recommended that MySQL has cacheing enabled.
42 Please see the MySQL documentation for instructions, or ask your
43 system administrator.
44
45
46 1.3 Time estimate
47
48 Assuming you have satisfied the requirements in 1.1, the installation
49 should not take longer than 20 minutes. This may vary depending on
50 the connection speed to your web server.
51
52
53
54 2. INSTALLING FILES
55
56
57 2.1 Deploy Elgg framework
58
59 Move all files aside from README, LICENSE, INSTALL and the
60 "distribution" directory from the distribution package to your web
61 server directory.  Files in the root of the distribution must be in
62 the root of your web server account.
63
64 ENSURE YOU HAVE INCLUDED .htaccess files - on Linux and Unix systems
65 (including Mac OS X) you
66
67 IF YOU ARE UPGRADING, you may wish to retain your existing
68 includes.php file.
69
70
71 2.1 Set permissions on special directories
72
73 Some directories need to be written to during Elgg's normal operation
74 - specifically the directory for uploaded files, and the directory
75 for uploaded icons.
76
77 From your root directory, navigate to /_icons.  On Linux / Unix, you
78 must change the access privileges for /_icons/data to 777 or
79 equivalent.  To do this you may be able to right click on the folder
80 and set the "CHMOD" value, or you may have to use your command line
81 terminal, navigate to the _icons folder, and type:
82
83         chmod 777 data
84
85 Repeat this process for /_rss/data, /_rss/cache, /_files/data and
86 /_files/cache.
87
88
89 3. SETTING UP THE DATABASE
90
91 If you are upgrading, please skip to 3.4.
92
93 3.1 Open database schema
94
95 There is a database schema supplied in the /distribution/database
96 folder.  You must install this into the database you have set aside
97 for Elgg.
98
99 If you are running phpMyAdmin, a third-party tool for easily
100 maintaining MySQL databases, go to 3.2; otherwise go to 3.3.
101
102
103 3.2 Setting up the database with phpMyAdmin
104
105 In phpMyAdmin, click on the database you wish to use for Elgg on the
106 left hand side of the screen.  Click on the "SQL" tab at the top of
107 the screen, and on the page that turns up, click "Browse" to pick a
108 textfile to import.  Navigate to /distribution/database in the
109 distribution package and select elgg.sql.  Click "Go".
110
111
112 3.3 Setting up the database with command line MySQL
113
114 Using your command line terminal, navigate to /distribution/database
115 in the distribution package. Type the following:
116
117         mysql -u [username] -p [password] [databasename] < elgg.sql
118        
119 Where [username] and [password] are your MySQL access details and
120 [databasename] is the name of the database you have set aside for
121 Elgg.
122
123 Once you have done this, you should delete the /distribution
124 directory.
125
126 3.4 Upgrading
127
128 Perform the above steps but with the upgrade.sql file
129 found in /distribution/database.
130
131 Run http://your-elgg-location/upgrade.php once to publish RSS feeds
132 for all users. Then delete it from the server.
133
134 NB: The navigation system has changed severely since the previous
135 version of Elgg. As a result, existing templates WILL NOT WORK.
136 If you would like to keep your existing templates, you should back
137 up the 'templates' and 'template_elements' tables in your database.
138 Note that these will need significant alteration for this version of
139 Elgg, for which only alteration of the CSS and page shell portions of
140 the template is recommended.
141
142
143
144 4. SETTING UP ELGG
145
146
147 4.1 Edit includes.php
148
149 Load "includes.php".  There are eight variables that must be
150 set at the top of the file - all of them are important, and they are
151 clearly described within the file.  Each of them is of the form:
152
153         define("name","value");
154        
155 You must enter your values within the second set of quotation marks.
156 To include a quotation mark within a value (e.g. if you wanted
157 My University's "Elgg" Trial to be your site title), prefix it with
158 a backslash ("\").
159
160
161 4.2 Customise your default homepage
162
163 We have included a basic default homepage, but you can alter index.php
164 as you wish.  If you would like to alter the text but maintain the
165 position within Elgg's flexible templating system, you will need to
166 alter the file /content/mainindex/content_main_index.php.
167
168
169 4.3 Optional plugins
170
171 Misja Hoebe has written an XML-RPC unit that requires the PEAR library.
172 Please see units/rpc/README for more details. If you are sure you have
173 all the prerequisites for this unit, uncomment the include XMLRPC line
174 in the plugins section of includes.php.
175
176 We have also included an implementation of the TinyMCE editor. This
177 is enabled by default. To disable it, comment out the TinyMCE line in
178 the plugins section of includes.php.
179
180 Another plugin is the experimental shared calendar, which allows
181 users of your Elgg system to share events with each other, which can
182 be found in the usual ways (restricted by groups and searchable by
183 tag). To enable this, uncomment the calendar line in the plugins
184 section of includes.php.
185
186 If you are using the calendar, you will need to add the related
187 database tables.  Using your command line terminal, navigate to
188 /distribution/database in the distribution package. Type the
189 following:
190
191         mysql -u [username] -p [password] [databasename] < elgg_calendar.sql
192
193
194 4.4 Log in
195
196 We have included a default user, "news". This user owns all the
197 public custom templates. Its login name is "news" and its default
198 password is "password"; you should log in and change this as soon
199 as possible. All new users will automatically list the news account
200 as a friend, so you should not delete it.
201
202 The news account comes with full administrator access, whether you've
203 upgraded or installed fresh. To change this (we recommend that you do
204 as a matter of urgency for security reasons), create a second account,
205 and give that account administrator privileges using the administrator
206 panel.
207
208
209 4.5 Tell us about it!
210
211 Because Elgg is free and open source, we often don't hear about new
212 installations. You don't have to, but we'd love it if you'd tell us
213 what you're doing with it. You can reach us at system@elgg.net or add
214 a link to your site directly to our information resource at
215 http://elgg.org/info/.
216
217
218 5. FURTHER CUSTOMISATION AND DEVELOPMENTS
219
220 Please keep an eye on http://elgg.org/ for forthcoming developments
221 within Elgg, including documentation on how to alter your default
222 templates and writing new functionality into the system.
Note: See TracBrowser for help on using the browser.