1- # Installing RCDB Website
1+ # Install on server
22
33Instruction on how to install central RCDB website.
44
5- We use RHEL9 + Apache Server + mod_wsgi as the example, as this is what usually is used at Jefferson Lab (now is 2025).
5+ RHEL9 + Apache Server + mod_wsgi is used as the example,
6+ as this is what usually is used at Jefferson Lab (now is 2025).
67
8+ *** Notes:***
9+
10+ - The RCDB web interface requires the proper database schema to be installed
11+ - For production use, consider setting up HTTPS with SSL certificates
12+ - Consider adjusting the number of threads in the WSGIDaemonProcess directive based on your server's capacity and expected load
13+
14+
15+ ### Preinstalled docker image
716There is [ a dockerfile with example Rocky Linux 9] ( https://github.com/JeffersonLab/rcdb/tree/main/docker/rocky )
817(binary compatible with RHEL9) setup with config files. To build and run it:
918
@@ -17,15 +26,16 @@ docker run --rm -it --init -p 8888:80 rcdb-rocky:latest
1726http://localhost:8888/rcdb/
1827```
1928
20-
2129- RHEL9 (or compatible) server with Apache HTTP Server installed
2230- Root access or sudo privileges
2331- Python 3.9+ (default on RHEL9)
2432- ` mod_wsgi ` package for Apache
2533
26- ## Install Required Packages
34+ ## Requirements
2735
28- First, install the necessary packages:
36+ ### System Packages
37+
38+ Required system packages:
2939
3040``` bash
3141# Install Apache and mod_wsgi
@@ -35,7 +45,7 @@ sudo dnf install httpd python3-mod_wsgi python3-pip python3-devel
3545sudo systemctl enable --now httpd
3646```
3747
38- There are two ways of managing rcdb and dependencies:
48+ There are two ways of managing python rcdb and dependencies:
3949
4050- Install centrally on the server e.g. via RPM
4151- Install venv and use mod_wsgi with python and packages from venv
@@ -68,11 +78,11 @@ dnf install -y \
6878```
6979
7080
71- ## Install RCDB Library
81+ ### Python dependencies
7282
7383You have two options for installing the RCDB library:
7484
75- ### Option A: System-wide Installation
85+ #### Option A: System-wide Installation
7686
7787``` bash
7888git clone --depth=1 https://github.com/JeffersonLab/rcdb.git /opt/rcdb
@@ -93,9 +103,9 @@ pip install rcdb
93103deactivate
94104```
95105
96- ## 3. Create the WSGI Script
106+ ## WSGI Script
97107
98- Create a WSGI script at ` /group/halld/www/halldwebdev/html/rcdb/rcdb_www.wsgi ` :
108+ Example HallD WSGI script is at ` /group/halld/www/halldwebdev/html/rcdb/rcdb_www.wsgi ` :
99109
100110If RCDB is installed as a system-wide library:
101111
@@ -131,7 +141,7 @@ rcdb.web.app.config["SQL_CONNECTION_STRING"] = "mysql://rcdb@hallddb.jlab.org/rc
131141application = rcdb.web.app
132142```
133143
134- ## 4. Configure Apache
144+ ## Apache Configuration
135145
136146Create an Apache configuration file at ` /etc/httpd/conf.d/rcdb.conf ` :
137147
@@ -164,16 +174,10 @@ Create an Apache configuration file at `/etc/httpd/conf.d/rcdb.conf`:
164174```
165175
166176
167- ## 5. Restart Apache
177+ ** Restart Apache**
168178
169179``` bash
170180sudo systemctl restart httpd
171181```
172182
173- ## Additional Notes
174-
175- - The RCDB web interface requires the proper database schema to be installed
176- - For production use, consider setting up HTTPS with SSL certificates
177- - Consider adjusting the number of threads in the WSGIDaemonProcess directive based on your server's capacity and expected load
178-
179183Now your RCDB web interface should be up and running on your RHEL9 Apache server!
0 commit comments