PropertyWebBuilder is an open-source property software that helps real estate agents and agencies manage property listings, contacts, and sales. In this tutorial, we will show you how to install PropertyWebBuilder on an Ubuntu Server.
Before you begin, you need to meet the following prerequisites:
Log in to your Ubuntu server with a non-root user with sudo privileges. Then, update the package list and upgrade the packages on your system.
Run the following command to update and upgrade your system:
sudo apt-get update
sudo apt-get upgrade
Before we start installing PropertyWebBuilder, we need to install some dependencies required to run PropertyWebBuilder. Run the following command to install them:
sudo apt-get install -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
PropertyWebBuilder requires Ruby to be installed on your system. Run the following command to install Ruby:
sudo apt-get install -y ruby-full
After installing Ruby, verify the installation by running the following command:
ruby -v
PropertyWebBuilder requires Node.js to be installed on your system to compile JavaScript assets. Run the following command to install Node.js:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
After installing Node.js, verify the installation by running the following command:
node -v
Yarn is a package manager used to manage JavaScript packages. Run the following command to install Yarn:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install -y yarn
After installing Yarn, verify the installation by running the following command:
yarn -v
PropertyWebBuilder requires MySQL to store data. Run the following command to install MySQL:
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
After installing MySQL, secure your MySQL installation by running the following command:
sudo mysql_secure_installation
Once you have secured your MySQL installation, create a new MySQL user and database for PropertyWebBuilder:
mysql -u root -p
CREATE DATABASE propertywebbuilder;
CREATE USER 'propertywebbuilder'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON propertywebbuilder.* TO 'propertywebbuilder'@'localhost';
FLUSH PRIVILEGES;
EXIT;
By now, you have installed all the required dependencies to run PropertyWebBuilder. Follow the steps below to install PropertyWebBuilder:
Clone the PropertyWebBuilder repository from GitHub:
git clone https://github.com/etewiah/property_web_builder.git
Change into the directory:
cd property_web_builder
Install the required gems:
bundle install
Create a new database:
bundle exec rake db:create
Migrate the database:
bundle exec rake db:migrate RAILS_ENV=production
Seed the database with sample data:
bundle exec rake db:seed RAILS_ENV=production
Precompile the assets:
bundle exec rake assets:precompile RAILS_ENV=production
Next, configure Apache to serve PropertyWebBuilder. Create a new virtual host configuration file by running the command below:
sudo nano /etc/apache2/sites-available/propertywebbuilder.conf
Add the following content to the file, replacing example.com
with your domain name or server IP address:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/propertywebbuilder/public/
<Directory /var/www/propertywebbuilder/public>
AllowOverride all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save and close the file. Then, enable the virtual host by running the following command:
sudo a2ensite propertywebbuilder.conf
Finally, restart Apache to apply the changes:
sudo systemctl restart apache2
Now that you have installed and configured PropertyWebBuilder, you can access it by opening your web browser and visiting your server’s domain name or IP address. You should see the PropertyWebBuilder login page.
Conclusion
In this tutorial, we have shown you how to install PropertyWebBuilder on an Ubuntu Server. We have also shown you how to configure Apache to serve PropertyWebBuilder. With PropertyWebBuilder installed and configured, you can now start managing your property listings, contacts, and sales.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!