How to Install changedetection.io on Fedora Server
This tutorial will guide you through the installation process of changedetection.io on Fedora Server.
Prerequisites
Before installing changedetection.io, ensure that your server meets the following requirements:
- Fedora Server latest version
- Python 3.6 or later
- Git
- Virtualenv
- PostgreSQL
Step 1 - Install Required Dependencies
To install all the necessary dependencies and libraries, execute the following command:
sudo dnf install -y git postgresql-server postgresql-devel postgresql-contrib nginx
Step 2 - Clone the changedetection.io Repository
Clone the changedetection.io repository from GitHub using the following command:
git clone https://github.com/dgtlmoon/changedetection.io.git
Step 3 - Create a Virtual Environment
Create a new virtual environment for changedetection.io using the following command:
virtualenv -p /usr/bin/python3 venv
Activate the virtual environment using the command:
source venv/bin/activate
Step 4 - Install Required Python Packages
Install the required python packages using the following command:
pip3 install -r requirements.txt
Step 5 - Configure PostgreSQL
Create a new PostgreSQL user and database using the following commands:
sudo -u postgres createuser <username>
sudo -u postgres createdb -O <username> <databasename>
Next, edit the config.py file in the cloned repository by changing the following fields:
POSTGRES_USER = '<username>'
POSTGRES_PASSWORD = '<password>'
POSTGRES_DB_NAME = '<databasename>'
where username, password, and databasename should correspond to the values you just created.
Step 6 - Initialize the Database
Run the following command to initialize the database:
python3 manage.py db init
Then run:
python3 manage.py db migrate
And finally:
python3 manage.py db upgrade
Step 7 - Configure Nginx
Create a new nginx server block for changedetection.io by creating a new file in the /etc/nginx/conf.d/ directory:
sudo nano /etc/nginx/conf.d/changedetection.io.conf
Add the following content to the file, replacing example.org with your own domain:
server {
listen 80;
server_name example.org;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Save and close the file.
Then, restart nginx using the following command:
sudo systemctl restart nginx
Step 8 - Start the Application
To start the changedetection.io application, run the following command:
python3 manage.py runserver
The application will now be accessible at http://localhost:5000/.
Congratulations! You have successfully installed changedetection.io on your Fedora Server.