Home > Backend Development > PHP Tutorial > Warning: DocumentRoot error solution

Warning: DocumentRoot error solution

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-30 13:30:14
Original
1971 people have browsed it

Considering security during installation, we planned to place DocumentRoot in a separate partition, so we created a directory specifically for it in the logical partition: /Dmnr
​In order to mount this partition, set /etc/fstab to:
​Code:…
LABEL=/Dmnr /Dmnr ext3 defaults 1 2
After the directory is created, copy the website content into www/html in the directory, and modify /etc/httpd/conf/httpd.conf as follows:
[php]

​DocumentRoot “/Dmnr/www/html”


[/php]
When restarting Apache, the following error message appears:
Code: #service httpd restart
Starting httpd: Warning: DocumentRoot [/Dmnr/www/html] does not exist
[ OK ]
Of course, the server will not work properly. Apache thinks this is not a directory! But if you point DocumentRoot "" to other directories, there will be no problem, and the server will work normally.
Solution:
1. SELinux configuration (omitted...), please refer to:
​http://www.chinalinuxpub.com/read.php?wid=1010
​http://blog.josesun.org/archives/2004_08/2
2. Modify html directory permissions:
​1. Check the website content directory
[php]
​ #ls -Z /Dmnr/www/html
[/php]
The status is:
[php]
-rwxr-xr-x someuser somegroup index.php

[/php]
​2. Obviously there is no SELinux permission, so make the following modifications:
[php]
chcon -R -t httpd_user_content_t /Dmnr/www/html
[/php]
​Looking at it again, this is what it looks like:
[php]
-rwxr-xr-x someuser somegroup user_u:object_r:httpd_sys_content_t index.php

[/php]
Restart httpd and normal php will work.
3. Database
​1. Mysql
​But when reading and writing the database, it will still be rejected by SELinux. Go to /var/lib/mysql or /var/lib/pgsql and see that there is no problem. The permissions are as follows:
[php]
-rw-rw——- mysql mysql root:object_r:mysqld_db_t ibdata1
-rw-rw——- mysql mysql root:object_r:mysqld_db_t ib_logfile0
-rw-rw——- mysql mysql root:object_r:mysqld_db_t ib_logfile1
drwx—— mysql mysql root:object_r:mysqld_db_t mysql
​srwxrwxrwx mysql mysql root:object_r:mysqld_var_run_t mysql.sock
drwx—— mysql mysql root:object_r:mysqld_db_t test
[/php]
But if you look under the test library where the data is placed, you will see that the self-built table still does not have SELinux permissions. It doesn’t matter, just modify it:
[php]
chcon -R -t mysqld_db_t /var/lib/mysql
[/php]
Note! The SELinux attribute here is mysqld_db_t
2. pgsql
I also opened the PostgreSQL library, but failed to modify properties using this method. The error occurred:
[php]
chcon: can’t apply partial context to unlabeled file pgsql/data/base/23456
chcon: can’t apply partial context to unlabeled file pgsql/data/base/12345
[/php]
Go to /var/lib/pgsql/data/base and look. It turns out that attributes cannot be applied to self-built libraries 12345 and 23456. I was in a mess looking for information, and I didn’t have a clue for a long time, so forget it!
[php]
#su - postgres
cd/var /li b/pgsql/ data /base

The above introduces the solution to the Warning: DocumentRoot error, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
MySQL stops process
From 1970-01-01 08:00:00
0
0
0
Error when installing mysql on linux
From 1970-01-01 08:00:00
0
0
0
phpstudy cannot start mysql?
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template