The instructions assume you‘re using Mac OS X (Mavericks for Server.app case and Mountain Lion without Server.app) as the host server, and assume that we’re installing this application at /Volumes/Data/WebKitPerfMonitor
.
You can choose between using Server.app or install the required tools separately
svn co https://svn.webkit.org/repository/webkit/trunk/Websites/perf.webkit.org /Volumes/Data/WebKitPerfMonitor
/Volumes/Data/WebKitPerfMonitor
, run npm install pg
.You can use apachectl to start/stop/restart apache server from the command line:
sudo apachectl start
sudo apachectl stop
sudo apachectl restart
Edit /private/etc/apache2/httpd.conf
/Volumes/Data/WebKitPerfMonitor/public/
"LoadModule php5_module libexec/apache2/libphp5.so"
"All"
httpd config file is located at:
- With Server.app: /Library/Server/Web/Config/apache2/sites/0000_any_80.conf (and/or 0000_any_`PORT#`.conf) - Without: /private/etc/apache2/httpd.conf
Update ServerAdmin to your email address
Add the following directives to enable gzip:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/plain application/json application/xml application/xhtml+xml </IfModule>
Add the following directives to enable zlib compression and MultiViews on WebKitPerfMonitor/public:
Options Indexes MultiViews php_flag zlib.output_compression on
The apache logs are located at /private/var/log/apache2
.
By default, the application gives the administrative privilege to everyone. Anyone can add, remove, or edit tests, builders, and other entities in the database and may even execute arbitrary JavaScript on the server via aggregators.
We recommend protection via Digest Auth on https connection.
Generate a password file via htdigest -c <path> <realm> <username>
, and then create admin/.htaccess with:
AuthType Digest AuthName "<Realm>" AuthDigestProvider file AuthUserFile "<Realm>" Require valid-user
where is replaced with the realm of your choice, which will be displayed on the username/password input box.
/Applications/Server.app/Contents/ServerRoot/usr/bin/initdb /Volumes/Data/WebKitPerfMonitor/PostgresSQL
/Applications/Server.app/Contents/ServerRoot/usr/bin/pg_ctl -D /Volumes/Data/WebKitPerfMonitor/PostgresSQL -l logfile -o "-k /Volumes/Data/WebKitPerfMonitor/PostgresSQL" start
The binaries located in PostgreSQL‘s directory, or if you’re using Server.app in /Applications/Server.app/Contents/ServerRoot/usr/bin/
createdb webkit-perf-db -h localhost
createuser -P -S -e webkit-perf-db-user -h localhost
psql webkit-perf-db -h localhost
grant all privileges on database "webkit-perf-db" to "webkit-perf-db-user";
Run database/init-database.sql
in psql as webkit-perf-db-user
: psql webkit-perf-db -h localhost --username webkit-perf-db-user -f database/init-database.sql
Run /Applications/Server.app/Contents/ServerRoot/usr/bin/pg_dump -h localhost --no-owner -f <filepath> safari-perf-db