Building the Server with YP-WEB
The WEB-UI feature is provided by the 'WEB-UI'
software component. This is located in the top directory named yp-web
.
YP-WEB Dependencies
Before building YP-WEB, the following dependencies must be installed:
Python 3.11 or higher and pip
Ensure Python 3.11+ is installed. Use your package manager or follow the instructions at python.org.
Example for Ubuntu:
Run the following commands to install Python, pip, and venv:
sudo apt update sudo apt install -y python3 python3-venv python3-dev python3-pip
Verify the installation:
python3 --version pip3 --version
Python libraries
Before building YP-WEB from sources, the following dependencies must be installed. These packages are only required if you are building YP-WEB from source.
To set up the virtual environment and install dependencies, run:
2.1 Create a virtual environment in your home directory
python3 -m venv ~/venv
2.2 Activate the virtual environment
source ~/venv/bin/activate
2.3 Install dependencies
mydir> cd yp-web
mydir> make tools-install
asyncio==3.4.3
websockets==13.1
pyzmq==26.2.0
asgiref>=3.0
yangson==1.4.19
lxml==5.3.0
pyinstaller==6.11.1
2.4 Install WEB Server
You will also need a web server to serve the HTML pages from yp-web. If you do not already have either NGINX or Apache installed you can follow these instructions for Apache Support or NGINX Support.
YP-WEB Build Steps
YP-WEB support can be enabled by building the server with the WITH_YP_WEB=1 make flag.
This feature is not enabled with the EVERYTHING=1 make flag.
Before proceeding, ensure that the virtual environment created in Step 2 is activated. If you have not yet activated it, run the following command:
source ~/venv/bin/activate
Once the virtual environment is active, you can proceed with the build.
Example Build Command:
mydir> make DEBUG=1 DEBUG2=1 USE_WERROR=1 EVERYTHING=1 WITH_YP_WEB=1
mydir> sudo make DEBUG=1 DEBUG2=1 USE_WERROR=1 EVERYTHING=1 WITH_YP_WEB=1 install
Installed Files
The 'yp-web-core' application is installed in the binary program directory, usually the '/usr/bin' directory.
The YP-WEB application data is installed in the '/usr/lib/yumapro/yp-web' directory.
Additional files are installed in the '/usr/lib/yumapro/yp-web/' directory:
yp-web-core.service is a systemd service file that facilitates the startup and management of the YP-WEB core component. By deploying this service file, the system can automatically initiate the yp-web-core process on boot, ensuring that the web application’s core services are consistently available and properly maintained.
Additional files are installed in the '/usr/share/yumapro/util/' directory:
ypweb-nginx.conf The ypweb-nginx.conf file is a reference configuration that helps set up NGINX as a reverse proxy or front-end server for YP-WEB. It provides a base configuration for integrating YP-WEB with NGINX
ypweb-apache2.conf The ypweb-apache2.conf file is a reference configuration that helps set up Apache as a reverse proxy or front-end server for YP-WEB. It provides a base configuration for integrating YP-WEB with Apache
Installed binaries location:
/usr/bin/yp-web-core