Siwapp Rough install guide
1.- Requirements
- System
- Windows
- Linux
- Software
- Apache web server.
- Mysql database server
- PHP 5.2 or higher (better 5.2.4 or higher)
- Privileges
- Console access, or a way to execute symfony tasks.
- In case you plan to use the "recurring invoice" access, you need access to a scheduling application within your system (i.e. cron)
2.- Download & unpack the source
- Get it
- Download the tar.gz package from the website
- Checkout the svn repository at the url http://svn.siwapp.org/tags/RELEASE_0_1.
- Unpack it & put it somewhere. Make sure the "web" folder is accesible to your web server.
Remember to give write permissions to the Apache user on these directories (create them if don't exist):
/path/to/siwapp/cache /path/to/siwapp/log /path/to/siwapp/web/templates /path/to/siwapp/web/uploads /path/to/siwapp/web/uploads/*
3.- Configure your web server
Apache configuration:
Let's assume you want your host to be named siwapp.example.com , and your siwapp software is unpacked at /usr/local/siwapp
<VirtualHost ....>
....
ServerName siwapp.example.com
DocumentRoot /usr/local/siwapp/web
Alias /sf /usr/local/siwapp/lib/vendor/symfony/data/web/sf
AddDefaultCharset utf-8
<Directory /usr/local/siwapp/web>
AllowOverride All
</Directory>
<Directory /usr/local/siwapp/lib/vendor/symfony/data/web/sf>
AllowOverride All
Allow from All
</Directory>
...
</VirtualHost>
That, of course, if you want to put it under a "virtualhost" section.
NOTE: The Alias directive:
<VirtualHost> .... Alias /sf /usr/local/siwapp/lib/vendor/symfony/data/web/sf ... </VirtualHost>
Will no longer be needed starting from version 0.2
NOTE II: You can also check http://trac.symfony-project.org/wiki/InstallingSymfonyOnSharedHostNoSsh for instructions on installing symfony on a shared host environnment.
4.- configure the database
- Create a database. Make sure you use the utf8 character set. Name it with a cool name .
- Once you've created the database, create a database user with the following privileges over the recently created database:
- select
- insert
- update
- delete
- create
- drop
- If you're a commandline freak, here are some commands four you to accomplish that. Assuming the following data:
- database root user = root
- database root password = password
- database host = dbhost
- your siwapp database name = siwapp_db
- your desired siwapp database user = siwapp_user
- your desired siwapp database user password = siwapp_password
bash$ echo "CREATE DATABASE siwapp_db DEFAULT CHARACTER SET utf8" | mysql -u root -ppassword -h dbhost bash$ echo "GRANT ALL PRIVILEGES ON siwapp_db.* TO 'siwapp_user'@'%' IDENTIFIED BY 'siwapp_password' " | mysql -u root -ppassword -h dbhost mysql bash$ echo "GRANT ALL PRIVILEGES ON siwapp_db.* TO 'siwapp_user'@'localhost' IDENTIFIED BY 'siwapp_password' " | mysql -u root -ppassword -h dbhost mysql bash$ echo "flush privileges" | mysql -u root -ppassword
5.- Go crazy with symfony tasks
- Configure the symfony app to use the database you've chosen. Again, assuming the following data:
- Database Name: siwapp_db
- Database Host: dbhost
- Database User: siwapp_user
- Database Password: siwapp_password
./symfony configure:database "mysql:host=dbhost;dbname=sywapp_db" siwapp_user siwapp_password
- Build the database structure. (it's important that the database user has the proper permissions described in 4)
./symfony propel:insert-sql
- Create a user for the siwapp web application:
./symfony guard:create-user <your siwapp user> <your siwapp user passwd>
- There you go! now, first thing first
- Go to "settings" (top right of the screen) and set everything you can.
- Start playing around.
- If you want to fool around a litte before going serious, you can try some random data with the following symfony task:
./symfony siwapp:random-data-load
- Once you're tired playing, just run
./symfony propel:insert-sql
again and you'll have a clean db. Don't forget to create again the user.

