m (+ libevent-1.4-2) |
|||
| (36 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
Currently supports only amd64 and compatible architecture systems. | Currently supports only amd64 and compatible architecture systems. | ||
| − | === | + | ===Minimal prerequisites (Ubuntu Server)=== |
* libtcmalloc-minimal0 | * libtcmalloc-minimal0 | ||
* libboost-system1.46.1 | * libboost-system1.46.1 | ||
* libboost-program-options1.46.1 | * libboost-program-options1.46.1 | ||
* libboost-filesystem1.46.1 | * libboost-filesystem1.46.1 | ||
| − | |||
* libtbb2 | * libtbb2 | ||
* libonig2 | * libonig2 | ||
* libmcrypt4 | * libmcrypt4 | ||
* libc-client2007e | * libc-client2007e | ||
| + | * memcached | ||
| + | * libcloog-ppl0 | ||
| + | * libicu48 | ||
| + | * libcap2 | ||
| + | * libgd2-xpm | ||
| + | * libjemalloc1 | ||
| + | * build-essential | ||
See complete list at [[ChronoLive Runtime ldd]] | See complete list at [[ChronoLive Runtime ldd]] | ||
| − | ===Install libmemcached=== | + | ===Ubuntu 14.04 LTS Server=== |
| + | sudo apt-get install libtcmalloc-minimal4 libboost-system1.55.0 libboost-program-options1.54.0 memcached libmemcached10 | ||
| + | sudo apt-get install libboost-filesystem1.54.0 libtbb2 libonig2 libmcrypt4 libc-client2007e libcloog-ppl1 | ||
| + | sudo apt-get install libicu52 libcap2 libgd2-xpm-dev libjemalloc1 libevent-1.4-2 build-essential | ||
| + | |||
| + | ===Ubuntu 12.04 LTS Server=== | ||
| + | sudo apt-get install libtcmalloc-minimal0 libboost-system1.46.1 libboost-program-options1.46.1 memcached | ||
| + | sudo apt-get install libboost-filesystem1.46.1 libtbb2 libonig2 libmcrypt4 libc-client2007e libcloog-ppl0 | ||
| + | sudo apt-get install libicu48 libcap2 libgd2-xpm libjemalloc1 build-essential | ||
| + | |||
| + | ====Install libmemcached (only Ubuntu 12.04)==== | ||
wget http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz | wget http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz | ||
tar -xzvf libmemcached-0.49.tar.gz | tar -xzvf libmemcached-0.49.tar.gz | ||
| Line 21: | Line 37: | ||
./configure | ./configure | ||
make | make | ||
| − | make install | + | sudo make install |
sudo cp libmemcached/.libs/libmemcached.so /lib/libmemcached.so.7 | sudo cp libmemcached/.libs/libmemcached.so /lib/libmemcached.so.7 | ||
| − | ===Install libevent=== | + | ====Install libevent (only Ubuntu 12.04)==== |
wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz | wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz | ||
tar -xzvf libevent-1.4.14b-stable.tar.gz | tar -xzvf libevent-1.4.14b-stable.tar.gz | ||
cd libevent-1.4.14b-stable | cd libevent-1.4.14b-stable | ||
| − | wget libevent-1.4.14.fb-changes.diff | + | wget https://raw.github.com/facebook/hiphop-php/pre-hhvm/src/third_party/libevent-1.4.14.fb-changes.diff |
patch -p1 < libevent-1.4.14.fb-changes.diff | patch -p1 < libevent-1.4.14.fb-changes.diff | ||
./configure | ./configure | ||
| Line 34: | Line 50: | ||
sudo make install | sudo make install | ||
| − | ===Running live web server=== | + | ==Database== |
| + | ===Creating database before first run=== | ||
| + | Download database file at: http://wiki.enymind.fi/demo/chronogrid_live.sql | ||
| + | |||
| + | wget http://wiki.enymind.fi/demo/chronogrid_live.sql | ||
| + | |||
| + | ===Install and configure database=== | ||
| + | sudo apt-get install mysql-server | ||
| + | |||
| + | During the installation it will ask the '''root''' user's password. Do not use root user with ChronoLive. | ||
| + | |||
| + | Create another user for ChronoLive. | ||
| + | |||
| + | After installation start mysql CLI with command: | ||
| + | |||
| + | mysql -u root -p | ||
| + | |||
| + | After login create new database: | ||
| + | |||
| + | CREATE DATABASE chronogrid_live; | ||
| + | USE chronogrid_live; | ||
| + | SOURCE chronogrid_live.sql | ||
| + | |||
| + | And create new user: | ||
| + | |||
| + | CREATE USER 'chronolive'@'localhost' IDENTIFIED BY 'yourpassword'; | ||
| + | GRANT ALL PRIVILEGES ON chronogrid_live.* TO 'chronolive'@'localhost'; | ||
| + | FLUSH PRIVILEGES; | ||
| + | |||
| + | ==Running live web server== | ||
| + | '''Do not run server with sudo (administrator privileges)!''' | ||
| + | |||
| + | If you want to use port 80, set up Apache (use ProxyPass and ProxyPassReverse) as front-end server. | ||
| + | |||
| + | <VirtualHost *:80> | ||
| + | ServerName myhost | ||
| + | ProxyPass / http://localhost:8080/ | ||
| + | ProxyPassReverse / http://localhost:8080/ | ||
| + | </VirtualHost> | ||
| + | |||
| + | ===Create log directory=== | ||
| + | |||
| + | sudo mkdir /var/log/hhvm | ||
| + | sudo chmod 777 /var/log/hhvm | ||
| + | |||
| + | ===Configuration file=== | ||
| + | |||
| + | Create your configuration file (config.cfg) and change default values. | ||
| + | |||
| + | ===Runtime=== | ||
| + | |||
Run command at terminal to start as server: | Run command at terminal to start as server: | ||
| − | chromolive_1.0.xxxx_amd64.bin -m server -c config.cfg | + | ./chromolive_1.0.xxxx_amd64.bin -m server -c config.cfg |
| − | Or as daemon: | + | Or as daemon (background process): |
| − | chromolive_1.0.xxxx_amd64.bin -m daemon -c config.cfg | + | ./chromolive_1.0.xxxx_amd64.bin -m daemon -c config.cfg |
Then navigate browser to: http://localhost:8080/live/index.php | Then navigate browser to: http://localhost:8080/live/index.php | ||
| − | |||
| − | |||
| − | |||
| − | |||
==Configuring service== | ==Configuring service== | ||
| Line 52: | Line 114: | ||
===Example configuration file (config.cfg)=== | ===Example configuration file (config.cfg)=== | ||
ServerVariables { | ServerVariables { | ||
| + | password = livepassword | ||
dbhostname = localhost | dbhostname = localhost | ||
| − | dbusername = | + | dbusername = chronolive |
| − | dbpassword = | + | dbpassword = yourpassword |
dbdatabase = chronogrid_live | dbdatabase = chronogrid_live | ||
| − | uploaddir = /tmp | + | uploaddir = /tmp/live |
logdir = /var/log/hhvm | logdir = /var/log/hhvm | ||
| + | userstyle = /path/to/style.css | ||
| + | locale = en_EN | ||
| + | clubname = Your Club Name | ||
| + | cluburl = http://www.club.com | ||
| + | logopath = http://www.club.com/images | ||
} | } | ||
Server { | Server { | ||
Port = 8080 | Port = 8080 | ||
| − | DefaultDocument = index. | + | DefaultDocument = index.html |
} | } | ||
| Line 84: | Line 152: | ||
StaticFile { | StaticFile { | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Extensions { | Extensions { | ||
css = text/css | css = text/css | ||
| Line 101: | Line 161: | ||
png = image/png | png = image/png | ||
txt = text/plain | txt = text/plain | ||
| + | woff = application/x-font-woff | ||
} | } | ||
} | } | ||
Latest revision as of 18:13, 20 January 2015
Running service
Currently supports only amd64 and compatible architecture systems.
Minimal prerequisites (Ubuntu Server)
- libtcmalloc-minimal0
- libboost-system1.46.1
- libboost-program-options1.46.1
- libboost-filesystem1.46.1
- libtbb2
- libonig2
- libmcrypt4
- libc-client2007e
- memcached
- libcloog-ppl0
- libicu48
- libcap2
- libgd2-xpm
- libjemalloc1
- build-essential
See complete list at ChronoLive Runtime ldd
Ubuntu 14.04 LTS Server
sudo apt-get install libtcmalloc-minimal4 libboost-system1.55.0 libboost-program-options1.54.0 memcached libmemcached10 sudo apt-get install libboost-filesystem1.54.0 libtbb2 libonig2 libmcrypt4 libc-client2007e libcloog-ppl1 sudo apt-get install libicu52 libcap2 libgd2-xpm-dev libjemalloc1 libevent-1.4-2 build-essential
Ubuntu 12.04 LTS Server
sudo apt-get install libtcmalloc-minimal0 libboost-system1.46.1 libboost-program-options1.46.1 memcached sudo apt-get install libboost-filesystem1.46.1 libtbb2 libonig2 libmcrypt4 libc-client2007e libcloog-ppl0 sudo apt-get install libicu48 libcap2 libgd2-xpm libjemalloc1 build-essential
Install libmemcached (only Ubuntu 12.04)
wget http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz tar -xzvf libmemcached-0.49.tar.gz cd libmemcached-0.49 ./configure make sudo make install sudo cp libmemcached/.libs/libmemcached.so /lib/libmemcached.so.7
Install libevent (only Ubuntu 12.04)
wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz tar -xzvf libevent-1.4.14b-stable.tar.gz cd libevent-1.4.14b-stable wget https://raw.github.com/facebook/hiphop-php/pre-hhvm/src/third_party/libevent-1.4.14.fb-changes.diff patch -p1 < libevent-1.4.14.fb-changes.diff ./configure make sudo make install
Database
Creating database before first run
Download database file at: http://wiki.enymind.fi/demo/chronogrid_live.sql
wget http://wiki.enymind.fi/demo/chronogrid_live.sql
Install and configure database
sudo apt-get install mysql-server
During the installation it will ask the root user's password. Do not use root user with ChronoLive.
Create another user for ChronoLive.
After installation start mysql CLI with command:
mysql -u root -p
After login create new database:
CREATE DATABASE chronogrid_live; USE chronogrid_live; SOURCE chronogrid_live.sql
And create new user:
CREATE USER 'chronolive'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON chronogrid_live.* TO 'chronolive'@'localhost'; FLUSH PRIVILEGES;
Running live web server
Do not run server with sudo (administrator privileges)!
If you want to use port 80, set up Apache (use ProxyPass and ProxyPassReverse) as front-end server.
<VirtualHost *:80>
ServerName myhost
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
Create log directory
sudo mkdir /var/log/hhvm sudo chmod 777 /var/log/hhvm
Configuration file
Create your configuration file (config.cfg) and change default values.
Runtime
Run command at terminal to start as server:
./chromolive_1.0.xxxx_amd64.bin -m server -c config.cfg
Or as daemon (background process):
./chromolive_1.0.xxxx_amd64.bin -m daemon -c config.cfg
Then navigate browser to: http://localhost:8080/live/index.php
Configuring service
Read more at: https://github.com/facebook/hiphop-php/wiki/Runtime-options
Example configuration file (config.cfg)
ServerVariables {
password = livepassword
dbhostname = localhost
dbusername = chronolive
dbpassword = yourpassword
dbdatabase = chronogrid_live
uploaddir = /tmp/live
logdir = /var/log/hhvm
userstyle = /path/to/style.css
locale = en_EN
clubname = Your Club Name
cluburl = http://www.club.com
logopath = http://www.club.com/images
}
Server {
Port = 8080
DefaultDocument = index.html
}
AdminServer {
Port = 8088
ThreadCount = 1
Password = gj34Us
}
Log {
Level = Error
UseLogFile = true
File = /var/log/hhvm/error.log
Access {
* {
File = /var/log/hhvm/access.log
Format = %h %l %u %t \"%r\" %>s %b
}
}
}
StaticFile {
Extensions {
css = text/css
gif = image/gif
html = text/html
jpg = image/jpeg
js = text/javascript
old = text/javascript
png = image/png
txt = text/plain
woff = application/x-font-woff
}
}