Support #883
Updated by Daniel Curtis almost 8 years ago
This is a guide for setting up the Open-Source-Billing web app on FreeBSD 10. h2. Prepare the Environment * Make sure the system is up to date: <pre> pkg update && pkg upgrade </pre> * Install a few dependencies: <pre> pkg install git sudo bash autoconf automake libtool bison readline sqlite3 gdbm gmake v8 ImageMagick-nox11 wkhtmltopdf </pre> h2. Install MariaDB server * Start by installing the mariadb100-server and mariadb100-client packages: <pre> pkg install mariadb100-{server,client} </pre> * Copy a base MariaDB configuration to use: <pre> cp /usr/local/share/mysql/my-small.cnf /var/db/mysql/my.cnf </pre> * Edit the mariadb config to change the max packet size: <pre> vi /var/db/mysql/my.cnf </pre> #* and modify @max_allowed_packet@ to 32M <pre> max_allowed_packet = 32M </pre> * Enable and start MariaDB <pre> echo 'mysql_enable="YES"' >> /etc/rc.conf service mysql-server start </pre> * Prepare the database for use by running the secure installation: <pre> mysql_secure_installation </pre> #* *NOTE*: +Choose a strong root password+ and answer +yes+ to all questions. h3. Create MariaDB Databases and Users * Login to MariaDB and create appropriate databases and users. <pre> mysql -u root -p </pre> #* and run the following SQL queries to create the *osbdb* database and *osbuser* user: <pre> CREATE DATABASE osbdb CHARACTER SET utf8; CREATE USER 'osbuser'@'localhost' IDENTIFIED BY 'SuperSecretPassword'; GRANT ALL PRIVILEGES ON osbdb.* TO 'osbuser'@'localhost'; FLUSH PRIVILEGES; quit </pre> h2. Install RVM * Change the default shell to bash: <pre> chsh </pre> * Switch to the temp directory: <pre> cd /tmp </pre> * Download the RVM installer script: <pre> fetch https://get.rvm.io -o installer.sh </pre> * Install the latest stable release of RVM: <pre> bash installer.sh stable </pre> * Setup the required ruby version: <pre> rvm install 2.0.0 </pre> h2. Install Open-Source-Billing * Add the osb user <pre> pw add user -m -n osb -s /usr/local/bin/bash -G rvm -c "Open Source Billing" </pre> * Make the web directory: <pre> mkdir -p /usr/local/www cd /usr/local/www </pre> * Clone the open-source-billing repo from GitHub: <pre> git clone https://github.com/vteams/open-source-billing osb </pre> * Change the permissions to osb: <pre> chown -R osb /usr/local/www/osb </pre> * Switch to the osb user and set the default ruby version: <pre> su - osb cd /usr/local/www/osb rvm use 2.0.0 --default </pre> * Install bundler: <pre> gem install bundler </pre> * Switch to the osb directory and setup bundler to use the system version of v8: <pre> bundle config build.libv8 --with-system-v8 </pre> * Install the required gems: <pre> bundle install </pre> * Copy the example open-source-billing config file: <pre> cp config/config.yml.copy config/config.yml </pre> * Copy the example environment config file: <pre> cp config/environments/production.rb.copy config/environments/production.rb </pre> * Copy the example database config: <pre> cp config/database.yml.backup config/database.yml </pre> #* And update the config app host location: <pre> production: app_host: '192.168.1.100' app_protocol: http wkhtmltopdf_path: /usr/local/rvm/gems/ruby-2.0.0-p648/bin/wkhtmltopdf </pre> * Edit the database config: <pre> vi config/database.yml </pre> #* And set the mysql username/password <pre> production: adapter: mysql2 encoding: utf8 reconnect: false database: osbdb pool: 5 username: osbuser password: SuperSecretPassword host: localhost </pre> * Create the database tables needed to run: <pre> RAILS_ENV=production rake db:create RAILS_ENV=production rake db:migrate </pre> * Test the server with: <pre> rails s -b 0.0.0.0 </pre> h2. Resources * https://github.com/vteams/open-source-billing