Ubuntu 16.04 Fresh Install - Prefer to use Apache, but having Apache config file issues #305

Closed
opened 2026-02-04 18:22:39 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @dohlin on GitHub (Apr 3, 2017).

Hey guys, I'm having a very similar issue to this one here and was hoping I might be able to get some assistance if anyone felt so kind :) I had originally posted in that thread but wasn't sure if it'd get noticed as it's already been closed so I hope that's not an issue.

Anyways, I've got a fresh install of Ubuntu 16.04, and have gone through the scripted install commands up to the nginix part, just entering applicable commands manually (pretty much all the commands but the ones that involve setting variables.

I stopped at the Nginx section as I'd like to run Apache if possible. I've gotten that all installed but the config file is what's really throwing me for a loop. Per the above mentioned thread I've tried the permissions adjustment as noted by @bydox, have enabled apache's mod rewrite function, and tried all the different variations on URL noted above with no luck.

Also just for reference my PHP version is 7.0.15, and MySQL version is 14.14.

My apache config currently looks like this:

<VirtualHost *:80>

ServerName [redacted]

DocumentRoot /var/www/bookstack/public
ServerAdmin webmaster@localhost

#Options +FollowSymLinks
#RewriteEngine On

#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^ index.php [L]

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/bookstack/public>
	AllowOverride All
	Order allow,deny
	Allow from all
</Directory>

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

When I hit the IP of my server (or http://localhost on the server itself), I get the following:

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylorotwell@gmail.com>
 */

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels nice to relax.
|
*/

require __DIR__.'/../bootstrap/autoload.php';

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

And if I uncomment the lines currently commented out in my config, then I get endless "400 Bad Request - Your browser sent a request that this server could not understand." pages when visiting the same page. I've looked in /var/log/apache2/error.log and don't see anything helpful. Here it is just for reference purposes:

[Sun Apr 02 19:47:19.779814 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:47:19.779934 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:47:22.617287 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00493:
SIGUSR1 received. Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using
127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:47:22.622669 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:47:22.622702 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:52:19.882141 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00493:
SIGUSR1 received. Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using
127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:52:19.888133 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:52:19.888169 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:52:23.011607 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 19:52:24.168871 2017] [mpm_event:notice] [pid 4387:tid 140199877764992] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:52:24.168979 2017] [core:notice] [pid 4387:tid 140199877764992] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:01.013610 2017] [mpm_event:notice] [pid 4387:tid 140199877764992] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 19:57:02.115402 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:02.115521 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:05.128422 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00493:
SIGUSR1 received. Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using
127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:57:05.136610 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:05.136624 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:25.381106 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00493:
SIGUSR1 received. Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using
127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:57:25.389079 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:25.389091 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:26.464980 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 19:57:27.555303 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:27.555398 2017] [core:notice] [pid 4968:tid 139977789454208] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 20:03:44.503773 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00493:
SIGUSR1 received. Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using
127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 20:03:44.509300 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:03:44.509308 2017] [core:notice] [pid 4968:tid 139977789454208] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 20:03:46.944588 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 20:03:48.018174 2017] [mpm_event:notice] [pid 5382:tid 140627807795072] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:03:48.018254 2017] [core:notice] [pid 5382:tid 140627807795072] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 20:04:09.801201 2017] [mpm_event:notice] [pid 5382:tid 140627807795072] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 20:04:10.893010 2017] [mpm_event:notice] [pid 5494:tid 140580858779520] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:04:10.893100 2017] [core:notice] [pid 5494:tid 140580858779520] AH00094: Command
line: '/usr/sbin/apache2'
[Sun Apr 02 20:04:36.058295 2017] [mpm_event:notice] [pid 5494:tid 140580858779520] AH00491:
caught SIGTERM, shutting down
[Sun Apr 02 20:04:37.187084 2017] [mpm_event:notice] [pid 5607:tid 140320021604224] AH00489:
Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:04:37.187190 2017] [core:notice] [pid 5607:tid 140320021604224] AH00094: Command
line: '/usr/sbin/apache2'

And finally, when I start the dev server using "php artisan serve" I get the login page and can login perfectly fine which is what leads me to believe the problem lies in my apache config. Sorry for being so wordy but I wanted to try and make sure I addressed all possible questions :) Can anyone please offer any advice on this? I'd be extremely grateful! Thank you!

Originally created by @dohlin on GitHub (Apr 3, 2017). Hey guys, I'm having a very similar issue to this one [here](https://github.com/BookStackApp/BookStack/issues/216) and was hoping I might be able to get some assistance if anyone felt so kind :) I had originally posted in that thread but wasn't sure if it'd get noticed as it's already been closed so I hope that's not an issue. Anyways, I've got a fresh install of Ubuntu 16.04, and have gone through the scripted install commands up to the nginix part, just entering applicable commands manually (pretty much all the commands but the ones that involve setting variables. I stopped at the Nginx section as I'd like to run Apache if possible. I've gotten that all installed but the config file is what's really throwing me for a loop. Per the above mentioned thread I've tried the permissions adjustment as noted by @bydox, have enabled apache's mod rewrite function, and tried all the different variations on URL noted above with no luck. Also just for reference my PHP version is 7.0.15, and MySQL version is 14.14. My apache config currently looks like this: <VirtualHost *:80> ServerName [redacted] DocumentRoot /var/www/bookstack/public ServerAdmin webmaster@localhost #Options +FollowSymLinks #RewriteEngine On #RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^ index.php [L] ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/bookstack/public> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet When I hit the IP of my server (or http://localhost on the server itself), I get the following: <?php /** * Laravel - A PHP Framework For Web Artisans * * @package Laravel * @author Taylor Otwell <taylorotwell@gmail.com> */ /* |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | our application. We just need to utilize it! We'll simply require it | into the script here so that we don't have to worry about manual | loading any of our classes later on. It feels nice to relax. | */ require __DIR__.'/../bootstrap/autoload.php'; /* |-------------------------------------------------------------------------- | Turn On The Lights |-------------------------------------------------------------------------- | | We need to illuminate PHP development, so let us turn on the lights. | This bootstraps the framework and gets it ready for use, then it | will load up this application so that we can run it and send | the responses back to the browser and delight our users. | */ $app = require_once __DIR__.'/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request | through the kernel, and send the associated response back to | the client's browser allowing them to enjoy the creative | and wonderful application we have prepared for them. | */ $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); $response->send(); $kernel->terminate($request, $response); And if I uncomment the lines currently commented out in my config, then I get endless "**400 Bad Request - Your browser sent a request that this server could not understand.**" pages when visiting the same page. I've looked in /var/log/apache2/error.log and don't see anything helpful. Here it is just for reference purposes: [Sun Apr 02 19:47:19.779814 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:47:19.779934 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:47:22.617287 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00493: SIGUSR1 received. Doing graceful restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [Sun Apr 02 19:47:22.622669 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:47:22.622702 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:52:19.882141 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00493: SIGUSR1 received. Doing graceful restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [Sun Apr 02 19:52:19.888133 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:52:19.888169 2017] [core:notice] [pid 3692:tid 140545472726912] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:52:23.011607 2017] [mpm_event:notice] [pid 3692:tid 140545472726912] AH00491: caught SIGTERM, shutting down [Sun Apr 02 19:52:24.168871 2017] [mpm_event:notice] [pid 4387:tid 140199877764992] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:52:24.168979 2017] [core:notice] [pid 4387:tid 140199877764992] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:57:01.013610 2017] [mpm_event:notice] [pid 4387:tid 140199877764992] AH00491: caught SIGTERM, shutting down [Sun Apr 02 19:57:02.115402 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:57:02.115521 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:57:05.128422 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00493: SIGUSR1 received. Doing graceful restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [Sun Apr 02 19:57:05.136610 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:57:05.136624 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:57:25.381106 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00493: SIGUSR1 received. Doing graceful restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [Sun Apr 02 19:57:25.389079 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:57:25.389091 2017] [core:notice] [pid 4697:tid 140215810697088] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 19:57:26.464980 2017] [mpm_event:notice] [pid 4697:tid 140215810697088] AH00491: caught SIGTERM, shutting down [Sun Apr 02 19:57:27.555303 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 19:57:27.555398 2017] [core:notice] [pid 4968:tid 139977789454208] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 20:03:44.503773 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00493: SIGUSR1 received. Doing graceful restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [Sun Apr 02 20:03:44.509300 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 20:03:44.509308 2017] [core:notice] [pid 4968:tid 139977789454208] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 20:03:46.944588 2017] [mpm_event:notice] [pid 4968:tid 139977789454208] AH00491: caught SIGTERM, shutting down [Sun Apr 02 20:03:48.018174 2017] [mpm_event:notice] [pid 5382:tid 140627807795072] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 20:03:48.018254 2017] [core:notice] [pid 5382:tid 140627807795072] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 20:04:09.801201 2017] [mpm_event:notice] [pid 5382:tid 140627807795072] AH00491: caught SIGTERM, shutting down [Sun Apr 02 20:04:10.893010 2017] [mpm_event:notice] [pid 5494:tid 140580858779520] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 20:04:10.893100 2017] [core:notice] [pid 5494:tid 140580858779520] AH00094: Command line: '/usr/sbin/apache2' [Sun Apr 02 20:04:36.058295 2017] [mpm_event:notice] [pid 5494:tid 140580858779520] AH00491: caught SIGTERM, shutting down [Sun Apr 02 20:04:37.187084 2017] [mpm_event:notice] [pid 5607:tid 140320021604224] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Apr 02 20:04:37.187190 2017] [core:notice] [pid 5607:tid 140320021604224] AH00094: Command line: '/usr/sbin/apache2' And finally, when I start the dev server using "php artisan serve" I get the login page and can login perfectly fine which is what leads me to believe the problem lies in my apache config. Sorry for being so wordy but I wanted to try and make sure I addressed all possible questions :) Can anyone please offer any advice on this? I'd be extremely grateful! Thank you!
Author
Owner

@dvnrsn commented on GitHub (Apr 3, 2017):

@dohlin what was the issue?

@dvnrsn commented on GitHub (Apr 3, 2017): @dohlin what was the issue?
Author
Owner

@dohlin commented on GitHub (Apr 3, 2017):

@devin42r I felt so stupid I didn't even want to comment lol - in the wake of recent "events" I had installed some privacy related extensions in my Google Chrome - including Disconnect, uBlock Origin, etc. Didn't even think about it being a possibility until I happened to try the site in IE. I feel SO stupid lol -_-

Side note while I have your attention - do you see anything wrong with my Apache config? Those commented out lines appear to not be required, but more specifically do you see any issues with the directory section? I'm a little rusty of what exactly those commands do and I had just found then on another site. Thanks!

@dohlin commented on GitHub (Apr 3, 2017): @devin42r I felt so stupid I didn't even want to comment lol - in the wake of recent "events" I had installed some privacy related extensions in my Google Chrome - including Disconnect, uBlock Origin, etc. Didn't even think about it being a possibility until I happened to try the site in IE. I feel SO stupid lol -_- Side note while I have your attention - do you see anything wrong with my Apache config? Those commented out lines appear to not be required, but more specifically do you see any issues with the directory section? I'm a little rusty of what exactly those commands do and I had just found then on another site. Thanks!
Author
Owner

@ssddanbrown commented on GitHub (Apr 3, 2017):

Hi @dohlin, Glad you figured this out.

Can't see anything particularly wrong with that apache config, Here's my comments of what each of the directory lines do:

<Directory /var/www/bookstack/public>  # Within the public bookstack folder
	AllowOverride All              # Allow .htaccess files to override Apache configuration
	Order allow,deny               # By default, Allow all requests (Blacklist mode rather than whitelist) 
	Allow from all                 # Allow access from all hosts
</Directory>

The .htaccess file within the BookStack public folder will be providing extra apache config for routing and whatnot. If you wanted to lock down access to BookStack at Apache level you could change the above but it's not necessary unless you have specific security concerns.

@ssddanbrown commented on GitHub (Apr 3, 2017): Hi @dohlin, Glad you figured this out. Can't see anything particularly wrong with that apache config, Here's my comments of what each of the directory lines do: ``` <Directory /var/www/bookstack/public> # Within the public bookstack folder AllowOverride All # Allow .htaccess files to override Apache configuration Order allow,deny # By default, Allow all requests (Blacklist mode rather than whitelist) Allow from all # Allow access from all hosts </Directory> ``` The `.htaccess` file within the BookStack public folder will be providing extra apache config for routing and whatnot. If you wanted to lock down access to BookStack at Apache level you could change the above but it's not necessary unless you have specific security concerns.
Author
Owner

@dohlin commented on GitHub (Apr 3, 2017):

@ssddanbrown Awesome, thanks for the confirmation I really appreciate it!

@dohlin commented on GitHub (Apr 3, 2017): @ssddanbrown Awesome, thanks for the confirmation I really appreciate it!
Author
Owner

@dvnrsn commented on GitHub (Apr 4, 2017):

No worries @dohlin happens to all of us. I think Dan has it right. For more in depth, don't be afraid to look at apache docs. AllowOverride Directive for example.

@dvnrsn commented on GitHub (Apr 4, 2017): No worries @dohlin happens to all of us. I think Dan has it right. For more in depth, don't be afraid to look at apache docs. [AllowOverride Directive](https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride) for example.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#305