(→Running service) |
m (+ libevent-1.4-2) |
||
(43 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 |
− | * | + | * 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== | ==Database== | ||
===Creating database before first run=== | ===Creating database before first run=== | ||
Download database file at: http://wiki.enymind.fi/demo/chronogrid_live.sql | 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== | ==Configuring service== | ||
Line 33: | 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 65: | Line 152: | ||
StaticFile { | StaticFile { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Extensions { | Extensions { | ||
css = text/css | css = text/css | ||
Line 82: | 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 } }