This guide will go through how to install Sphinx-Doc on Oracle Linux. Sphinx is a documentation generator that makes it simple to create insightful and eye-catching documentation. It has numerous features that are beneficial for creating technical documentation, such as output formats, comprehensive cross-references, a hierarchical structure, automatic indexing, code handling, extensions, and themes.
How to Install Sphinx-Doc on Oracle Linux
- Update Oracle Linux packages.
sudo dnf update
- Next, install dependencies.
sudo dnf install python3 python3-pip make gcc httpd -y
- Then start Apache using the command below.
sudo service httpd start
- Enable Apache using the following command.
sudo systemctl enable httpd
- Install Sphinx-Doc.
pip3 install sphinx
Sample output
Collecting sphinx Downloading sphinx-5.3.0-py3-none-any.whl (3.2 MB) |████████████████████████████████| 3.2 MB 33 kB/s Collecting sphinxcontrib-qthelp Downloading sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB) |████████████████████████████████| 90 kB 95 kB/s Collecting sphinxcontrib-serializinghtml>=1.1.5 Downloading sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB) |████████████████████████████████| 94 kB 89 kB/s Collecting Pygments>=2.12 Downloading Pygments-2.13.0-py3-none-any.whl (1.1 MB) |████████████████████████████████| 1.1 MB 25 kB/s Collecting alabaster=0.7 Downloading alabaster-0.7.12-py2.py3-none-any.whl (14 kB) Collecting sphinxcontrib-devhelp Downloading sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB) |████████████████████████████████| 84 kB 87 kB/s Collecting sphinxcontrib-htmlhelp>=2.0.0 Downloading sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl (100 kB) |████████████████████████████████| 100 kB 180 kB/s Collecting imagesize>=1.3 Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting Jinja2>=3.0 Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB) |████████████████████████████████| 133 kB 244 kB/s Collecting importlib-metadata>=4.8 Downloading importlib_metadata-5.0.0-py3-none-any.whl (21 kB) Requirement already satisfied: requests>=2.5.0 in /usr/lib/python3.9/site-packages (from sphinx) (2.25.1) Collecting docutils=0.14 Downloading docutils-0.19-py3-none-any.whl (570 kB) |████████████████████████████████| 570 kB 30 kB/s Collecting sphinxcontrib-jsmath Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting sphinxcontrib-applehelp Downloading sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB) |████████████████████████████████| 121 kB 24 kB/s Collecting packaging>=21.0 Downloading packaging-21.3-py3-none-any.whl (40 kB) |████████████████████████████████| 40 kB 63 kB/s Collecting babel>=2.9 Downloading Babel-2.10.3-py3-none-any.whl (9.5 MB) |████████████████████████████████| 9.5 MB 371 kB/s Collecting snowballstemmer>=2.0 Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) |████████████████████████████████| 93 kB 696 kB/s Collecting pytz>=2015.7 Downloading pytz-2022.5-py2.py3-none-any.whl (500 kB) |████████████████████████████████| 500 kB 704 kB/s Collecting zipp>=0.5 Downloading zipp-3.9.0-py3-none-any.whl (5.8 kB) Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/lib/python3.9/site-packages (from packaging>=21.0->sphinx) (2.4.7) Requirement already satisfied: idna=2.5 in /usr/lib/python3.9/site-packages (from requests>=2.5.0->sphinx) (2.10) Requirement already satisfied: urllib3=1.21.1 in /usr/lib/python3.9/site-packages (from requests>=2.5.0->sphinx) (1.26.5) Requirement already satisfied: chardet=3.0.2 in /usr/lib/python3.9/site-packages (from requests>=2.5.0->sphinx) (4.0.0) Installing collected packages: zipp, pytz, MarkupSafe, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, Pygments, packaging, Jinja2, importlib-metadata, imagesize, docutils, babel, alabaster, sphinx WARNING: Value for scheme.platlib does not match. Please report this to distutils: /home/itnixpro/.local/lib/python3.9/site-packages sysconfig: /home/itnixpro/.local/lib64/python3.9/site-packages WARNING: Additional context: user = True home = None root = None prefix = None Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Pygments-2.13.0 alabaster-0.7.12 babel-2.10.3 docutils-0.19 imagesize-1.4.1 importlib-metadata-5.0.0 packaging-21.3 pytz-2022.5 snowballstemmer-2.2.0 sphinx-5.3.0 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 zipp-3.9.0
Configure Sphinx-Doc on Debian Linux
- Navigate to the Apache document root directory using the command below.
cd /var/www/html/
- Start Sphinx-Doc using the command below.
sphinx-quickstart
Sample output
Welcome to the Sphinx 5.3.0 quickstart utility. Please enter values for the following settings (just press Enter to accept a default value, if one is given in brackets). Selected root path: . You have two options for placing the build directory for Sphinx output. Either, you use a directory "_build" within the root path, or you separate "source" and "build" directories within the root path. > Separate source and build directories (y/n) [n]: n The project name will occur in several places in the built documentation. > Project name: itnixpro > Author name(s): nix > Project release []: 9.0 If the documents are to be written in a language other than English, you can select a language here by its language code. Sphinx will then translate text that it generates into that language. For a list of supported codes, see https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language. > Project language [en]: Creating file /var/www/html/conf.py. Creating file /var/www/html/index.rst. Creating file /var/www/html/Makefile. Creating file /var/www/html/make.bat. Finished: An initial directory structure has been created. You should now populate your master file /var/www/html/index.rst and create other documentation source files. Use the Makefile to build the docs, like so: make builder where "builder" is one of the supported builders, e.g. html, latex or linkcheck.
- Run the command below to generate a static HTML file.
make html
Sample output
Running Sphinx v5.3.0 making output directory... done building [mo]: targets for 0 po files that are out of date building [html]: targets for 1 source files that are out of date updating environment: [new config] 1 added, 0 changed, 0 removed reading sources... [100%] index looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done writing output... [100%] index generating indices... genindex done writing additional pages... search done copying static files... done copying extra files... done dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in _build/html.
Configure Apache
- Create Apache virtual host for Sphinx-Doc using the following command.
sudo nano /etc/httpd/conf.d/sphinx.conf
- Then add the config below.
ServerAdmin [email protected] ServerName sphinx.exampledomain.com DocumentRoot /var/www/html/_build/html/ ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined
- Next, change
/var/www/html/
directory ownership.
sudo chown -R apache:apache /var/www/html/
- Restart Apache to apply changes.
sudo systemctl restart httpd
- Fire up your browser and enter your computer IP address or domain name to access Sphinx-Doc e.g.
http://127.0.0.1

- That marks the end of our tutorial, we have gone through how to Install Sphinx-Doc on Oracle Linux.
Read more on Sphinx-Doc Documentation