-
Notifications
You must be signed in to change notification settings - Fork 12
/
INSTALL
101 lines (81 loc) · 3.75 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
This has only been tested on these Linux distributions:
* Gentoo Linux
* Ubuntu Linux
# Backend Dependencies:
* Apache 2+
Modules: `htaccess, mod_headers, mod_expires, mod_rewrite, mod_deflate, mod_php5, mod_mime`
* PHP 5.3 +
Modules: `apache2 mysql sockets xmlreader xmlwriter zip pdo imap mhash mysqli gettext`
Suggested Modules: `curl curlwrappers gd inifile snmp`
Optional PEAR modules: mail, Net_SMTP, Mail_Mime
* MySQL 5+
* 'msgfmt' (Optional, Locale generation, for localization and translations)
`Included in Linux`
* 'exiftool'
Debian users: `apt-get install exiftool`
Gentoo users: `emerge exiftool`
Download: `http://www.sno.phy.queensu.ca/~phil/exiftool/`
* 'pdf2svg' (Optional, for use with PDF applications)
Debian users: `apt-get install pdf2svg`
Gentoo users: `emerge pdf2svg`
Download: `http://www.cityinthesky.co.uk/opensource/pdf2svg`
* _ffmpeg_ (Optional, for converting samples from OGG to MPEG)
Download: `http://ffmpeg.org/download.html`
# Frontend Dependencies:
* jQuery
`http://code.jquery.com/jquery-1.7.1.min.js`
* jQuery UI
`http://jqueryui.com/download/jquery-ui-1.8.17.custom.zip`
* Yahoo YUI Compressor or Google Closure Compiler
`http://developer.yahoo.com/yui/compressor/`
`https://developers.google.com/closure/`
* JSON2 by Douglas Crockford (Git submodule)
* Sprintf by Alexandru Marasteanu (Git submodule)
* Gnome 2.x icon pack(s) (Git submodule)
* Freedesktop Sound Theme (Git submodule)
# Manual Installation:
## First steps
* Clone OS.js from Github (Use recursive clone or pull submodules after clone)
* Set up `config.php`
- Create a copy of `config.example.php` and edit
- Or create a symlink and keep current example config
* Set up other settings in `header.php` if required
* Set (temporary) permissions with `./bin/fix-permissions dev` [See note]
* Create documentation with `./bin/update-documentation` (Optional)
## Database
* Use the `schema.sql` dump.
* Use settings from `config.php` or create new and edit the file
* Add an administrator user using `./bin/add-user`
**NB:** Make sure database is clean and user is created with user_id=1
## Web-Server
* Use a vhost template in `doc/` and set up your web server
* Create `/var/cache/OSjs` with permission to Apache
* Update `php.ini` for the host or enable runtime ini_set for project
The settings are found in the top of `header.php`.
(You can alternatively allow PHP scripts allow settings ini-settings)
## Frontend Dependencies
* Download **jQuery** (1.7.1 by default)
- Drop into `vendor/`
- Symlink JS to `public_html/vendor/jquery.js` (Should exist)
* Download **jQuery UI** (1.8.17 by default)
- Drop into `vendor/`
- Symlink JS to `public_html/vendor/jquery-ui.js` (Should exist)
- Symlink CSS to `public_html/vendor/jquery-ui-theme.css` (Should exist)
- Symlink CSS images to `public_html/vendor/images` (Should exist)
* **ALTERNATIVE 1** Download **Yahoo YUI Compressor**
- Drop `jar` file into `vendor/yui-compressor`
- Synmlink/copy/move the jar to `vendor/yui-compressor/yuicompressor.jar`
* **ALTERNATIVE 2** Download **Google Closure Compiler**
- Drop `jar` file into `vendor/closure-compiler/`
- Add this to your `config.php`:
define("BIN_CC_ENABLE", true);
## Extras
Needs the packages submodule
* Compile all applications with `./bin/application-gen`
* Install all applications globally with `./bin/install-all`
## Finishing steps
* Compile server-side locales with `./bin/update-locale`
* If you're in a production environment or doing testing procedures run `./bin/update-compression` to compress all scripts etc. (Optional)
* Fix permissions with `./bin/fix-permissions live` [See note]
# Notes
* `config.php` needs the correct VFS permissions set.