This is my fstab
LABEL=ROOT / xfs defaults 0 0
LABEL=EFI /boot/efi vfat defaults 0 0
LABEL=SCHOOLYARD /srv xfs defaults 0 0
LABEL=SCHOOLYARD /schoolyard xfs defaults 0 0
And this is the output of lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 15G 0 disk
??nvme0n1p1 259:1 0 2M 0 part
??nvme0n1p2 259:2 0 20M 0 part /boot/efi
??nvme0n1p3 259:3 0 15G 0 part /
nvme1n1 259:4 0 15G 0 disk
??nvme1n1p1 259:5 0 15G 0 part /schoolyard
I have the disk mounted in two different directories. But it is a shared disk between three front servers. When we make a new deploy of the app, we do it in /schoolyard
, and this way the three front ones are updated at the same time. Besides, we have it shared so that the app does not save the same data three times in the database (and other technical reasons with the sessions inside the app).
The reason for having the path in /srv/...
and for not being able to move /srv
and its subdirectories one level, is that we use the /srv/....
path in other test servers. When we update the app, we first test it on a development server, whose path is the standard one (/srv/....
), we also have the rest of the team testing the updated app on a different server called PRE (again, /srv
path), and after making the necessary changes we make the final deployment on the FRONT servers. The point is that there are hardcoded paths in the app source code. And of course, we would have to modify the app code only for the FRONT servers (and their shared schoolyard
hard drive) if we were to up the path one level.
This is part of the standard /etc/apache2/defaulkt-server.conf
(Only the first, and the last part of the file)
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
#
DocumentRoot "/srv/www/htdocs"
#
# Configure the DocumentRoot
#
<Directory "/srv/www/htdocs">
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# https://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
# NOTE: For directories where RewriteRule is used, FollowSymLinks
# or SymLinksIfOwnerMatch needs to be set in Options directive.
Options None
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
AllowOverride None
# Controls who can get stuff from this server.
<IfModule !mod_access_compat.c>
Require all granted
</IfModule>
<IfModule mod_access_compat.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
# Include all *.conf files from /etc/apache2/conf.d/.
#
# This is mostly meant as a place for other RPM packages to drop in their
# configuration snippet.
#
# You can comment this out here if you want those bits include only in a
# certain virtual host, but not here.
#
IncludeOptional /etc/apache2/conf.d/*.conf
# The manual... if it is installed ('?' means it won't complain)
IncludeOptional /etc/apache2/conf.d/apache2-manual?conf
And this is my /srv
directory
drwxr-xr-x root root 28 B Wed Jan 6 11:13:02 2021 .
drwxr-xr-x root root 292 B Tue Jan 5 18:51:08 2021 ..
drwxr-xr-x root root 35 B Tue Jan 5 19:02:03 2021 srv
drwxr-x--- root root 20 B Wed Jan 6 11:13:02 2021 www
Here’s /srv/www
contents
drwxr-x--- root root 20 B Wed Jan 6 11:13:02 2021 .
drwxr-xr-x root root 28 B Wed Jan 6 11:13:02 2021 ..
drwxr-x--- root root 6 B Wed Jan 6 11:13:02 2021 htdocs
I created manually /srv/www/htdocs
in order to get apache working.
sudo mkdir -p /srv/www/htdocs
But here’s the problem, the operating system doesn’t work on reboot if I create manually this directory