(→Example configuration file (config.cfg)) |
m (→Running live web server) |
||
Line 73: | Line 73: | ||
==Running live web server== | ==Running live web server== | ||
− | Create log directory | + | '''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. | ||
+ | |||
+ | ===Create log directory=== | ||
sudo mkdir /var/log/hhvm | sudo mkdir /var/log/hhvm | ||
sudo chmod 777 /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: |
Revision as of 16:02, 5 April 2013
Running service
Currently supports only amd64 and compatible architecture systems.
Prerequisites (Ubuntu 12.04 LTS 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
- build-essential
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 build-essential
See complete list at ChronoLive Runtime ldd
Install libmemcached
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
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.
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:
./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 logdir = /var/log/hhvm userstyle = /path/to/style.css locale = en_EN } 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 { FilesMatch { * { pattern = .*\.(dll|exe) headers { * = Content-Disposition: attachment } } } 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 } }