OSX Server: apache2 running but “Problem loading page” - macos

I have setup OSX Server 10.6, all updates installed, started apache2, which is running:
sudo apachectl graceful
I see in /var/log/apache2/errorlog
[Fri Dec 17 10:11:49 2010] [notice] Apache/2.2.15 (Unix) configured -- resuming normal operations
Also
ps -ef | grep httpd
shows several processes:
0 49388 1 0 0:00.05 ?? 0:00.07 /usr/sbin/httpd -D FOREGROUND
70 49389 49388 0 0:00.00 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
70 49390 49388 0 0:00.00 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
70 49391 49388 0 0:00.00 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
70 49392 49388 0 0:00.00 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
...
In httpd.conf I edited DocumentRoot:
ServerName bioinfo.mni.fh-giessen.de:80
DocumentRoot "/Volumes/ServerHD2/Web_Documents"
ErrorLog "/var/log/apache2/error_log"
<Directory "/Volumes/ServerHD2/Web_Documents">
Order Allow,Deny
Allow from All
</Directory>
Syntax is OK:
apachectl configtest
Syntax OK
Yet, I get timeouts at http://bioinfo.mni.fh-giessen.de :
Problem loading page
Any clue ?

Are you sure you edited the right file? OS X Server has a way of not keeping to standards. The actual configuration entries are not in /etc/httpd/httpd.conf, but in subdirectories of /etc/apache2/sites. Check out this FAQ.
I would recommend using the Server Admin utility to set up the server. It will be a lot easier and quicker than trying to get the configuration right manually. You can always add or change rules later, once the site is up and running.

No direct local GUI access possible for a few days, no access via Remote Desktop either. My only way is ssh right now, but I will be happy to try Server Admin utility in a few days. For now I am restricted to the command line. Yes, I edited both /etc/apache2/httpd.conf and /etc/apache2/sites/0000_any_80_.conf, without avail. Is
sudo serveradmin fullstatus web
anyhow instructive :
web:readWriteSettingsVersion = 1
web:totalKBytes = 0
web:emailRulesRunning = no
web:boundToKerberos = yes
web:teamsRunning = yes
web:postfixRunning = no
web:servicePortsRestrictionInfo = _empty_array
web:health = _empty_dictionary
web:currentThroughput = 0
web:passwordResetRunning = no
web:ApacheMode = 2
web:statusMessage = ""
web:apacheVersion = "Unknown"
web:state = "RUNNING"
web:setStateVersion = 1
web:apacheState = "RUNNING"
web:proxyState = "STOPPED"
web:htCacheCleanRunning = no
web:calendarRunning = yes
web:servicePortsAreRestricted = "YES"
web:currentRequestsBy10 = 0
web:logPaths:logPathsArray = _empty_array
web:totalRequests = 0
web:startedTime = ""
?

Related

Connecting to ProxySQL via socket - "No such file or directory"

I am trying to connect to ProxySQL from PHP with mysqlnd using the local socket, but I get
"No such file or directory"
, as the socket would not exist. The same code can connect to the mysql socket with no problem.
Basically I am reproducing what was described at:
https://www.percona.com/blog/2017/09/19/proxysql-improves-mysql-ssl-connections/
<?php
$i = 10000;
$user = 'percona';
$pass = 'percona';
while($i>=0) {
$mysqli = mysqli_init();
// ProxySQL
$link = mysqli_real_connect($mysqli, "localhost", $user, $pass, "", 6033, "/tmp/proxysql.sock")
or die(mysqli_connect_error());
$info = mysqli_get_host_info($mysqli);
$i--;
mysqli_close($mysqli);
unset($mysqli);
}
?>
This throws:
mysqli_real_connect(): (HY000/2002): No such file or directory
The socket file (/tmp/proxysql.sock) is in fact there:
$ ls -all /tmp
total 12
drwxrwxrwt. 11 root root 4096 Oct 7 17:33 .
dr-xr-xr-x. 28 root root 4096 Sep 20 17:42 ..
drwxrwxrwt. 2 root root 6 Aug 8 02:40 .font-unix
drwxrwxrwt. 2 root root 6 Aug 8 02:40 .ICE-unix
srwxrwxrwx 1 proxysql proxysql 0 Oct 7 17:11 proxysql.sock
I can use the mysql client to connect through it:
$ mysql -u myuser -p --socket /tmp/proxysql.sock --prompt='ProxySQLClient> '
If in the above PHP code I replace the socket file with the MySQL socket, then that works. It is only the proxysql.sock which doesn't work with mysqlnd.
I am using:
mysqlnd version mysqlnd 5.0.12-dev - 20150407
ProxySQL version 2.0.6
Any idea why the proxysql.sock is not accepted by mysqlnd?
UPDATE: Following #EternalHour's suggestion below, I have also tried moving the proxysql.sock file out of /tmp, but unfortunately that didn't make a difference. I am still receiving the same error.
EDIT (2019-10-08): It turns out this issue has nothing to do with PHP, as netcat throws the same problem too, whether the socket files in in /tmp or in /var/sockets/:
$ nc -U /tmp/proxysql.sock
Ncat: No such file or directory.
Out of the 3 nodes of the ProxySQL cluster running on the same OS, same kernel version, 1 has this issue, the other 2 allows connection to the socket file in /tmp/proxsql.sock, although over there too, sometimes restarting ProxySQL results in the socket file being created as private (eg not available to other applications)
Many MySQL Clients have a special handling of the wordlocalhost. localhost doesn't mean "use the resolver to resolve localhost and connect via TCP" but "use unix domain socket on the default path" to use TCP use 127.0.0.1 instead. If proxySQL also provides a unix domain socket provide that path.
I am sorry everyone, the issue was embarrassingly simple - it was simply my fault.
When I was changing the socket file's location in ProxySQL Admin I was using the following
update global_variables set variable_value='0.0.0.0:6033;/tmp/proxysql.sock ' where variable_name='mysql-interfaces';
SAVE MYSQL VARIABLES TO DISK;
Yes, that is a space at the end of "/tmp/proxysql.sock ".
When I was changing it to different locations, I only rewrote the first half of that (the folder), never the filename, so I just keep copying the space and hence always got file or directory not found...
Problem solved!
Sorry about it

Redmine files upload error

I have a problem with files upload in Redmine. Error is: 500 internal server error.
In logs I have no information ( apache log & production.log ).
What I have tried:
Change rights on /usr/share/redmine/files to 777 ( no result )
Change rights on /usr/share/redmine to 777 ( no result )
Checked owner for /usr/share/redmine ( it is admin )
Checked PassengerDefaultUser ( it is admin )
Result of "ps -ef | grep Passenger | grep -v grep" command:
root 27534 26624 0 17:23 ? 00:00:00 PassengerWatchdog
admin 27537 27534 0 17:23 ? 00:00:01 PassengerHelperAgent
nobody 27543 27534 0 17:23 ? 00:00:00 PassengerLoggingAgent
admin 27588 1 0 17:23 ? 00:00:04 Passenger RackApp: /usr/share/redmine
System: Apache 2.4, Passenger Apache/2.4.10 (Debian) mod_fcgid/2.3.9 Phusion_Passenger/4.0.53, Redmine 2.5.2.stable
I tried all that I can, but have no result. :-(

Apache passenger deploy sinatra

I am using apache and passenger. I have my app in /home/git/app/public
My sites-enbled have a file called app with this content
<VirtualHost *:9292>
#ServerName www.yourhost.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /home/git/app/public
<Directory /home/git/app/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
My mods-enabled have:
passenger.load
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.21/buildout/apache2/mod_passenger.so
passenger.conf
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.21
PassengerDefaultRuby /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby
This paths were returned from to run:
passenger-install-apache2-module
All paths are working.
$>ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
$> which ruby
/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby
error.log in apache
http://pastebin.com/u50SQJ4h
Procces running
root 622 0.2 1.7 118432 8600 ? Ss 12:55 0:00 /usr/sbin/apache2 -k start
root 624 0.1 0.4 223496 2064 ? Ssl 12:55 0:00 PassengerWatchdog
root 631 0.0 0.4 503552 2424 ? Sl 12:55 0:00 PassengerHelperAgent
nobody 639 0.0 0.9 235480 4900 ? Sl 12:55 0:00 PassengerLoggingAgent
www-data 655 0.0 1.1 118504 5888 ? S 12:55 0:00 /usr/sbin/apache2 -k start
www-data 657 0.0 1.0 118456 5388 ? S 12:55 0:00 /usr/sbin/apache2 -k start
www-data 659 0.0 1.0 118456 5388 ? S 12:55 0:00 /usr/sbin/apache2 -k start
www-data 660 0.0 1.0 118456 5388 ? S 12:55 0:00 /usr/sbin/apache2 -k start
www-data 661 0.0 1.0 118456 5388 ? S 12:55 0:00 /usr/sbin/apache2 -k start
When I visit IPSERVER:9292, not load. In port 80 are running normally. If I will run my app in :9292 I need to run:
passenger start -p '9292' -e 'production' --daemon
My app has the following struct:
/home/git/app
app.rb
config.ru
public
tmp
$> cat config.ru
require 'rubygems'
require 'sinatra'
set :environment, ENV['RACK_ENV'].to_sym
disable :run, :reload
require 'app.rb'
run Sinatra::Application
$> cat app.rb
get '/hi' do
"Hello World!"
end
But I want my app to start with system. Any idea?

session.save_path incorrect in magento + memcache for session

I am trying to configure Magento to use memcache for session. I have installed memcached and also php5-memcache. I have also added "extension=memcache.so" in memcache.ini.
I have made sure the memcached instance is also running in the localhost port number 11213. However, when I try to login to Magento admin I get an error -
Warning: Unknown: Failed to write session data (memcache). Please verify that the current setting of session.save_path is correct (tcp://127.0.0.1:11213?persistent=0&weight=2&timeout=10&retry_interval=10) in Unknown on line 0
The following is the memcache configuration in local.xml -
<session_save><![CDATA[memcache]]></session_save>
<session_save_path><![CDATA[tcp://127.0.0.1:11213?persistent=0&weight=2&timeout=10&retry_interval=10]]></session_save_path>
The following are the grep for memcached,
www-data 1329 1 0 08:13 ? 00:00:00 /usr/bin/memcached -d -m 64 -p 11213 -u www-data -l 127.0.0.1
www-data 1511 1 0 08:18 ? 00:00:00 /usr/bin/memcached -d -m 64 -p 11211 -u www-data -l 127.0.0.1
www-data 1518 1 0 08:18 ? 00:00:00 /usr/bin/memcached -d -m 64 -p 11212 -u www-data -l 127.0.0.1
I have been meddling up with this for a couple of days now and I am not sure what the issue. Any help is appreciated.
Thanks,
G
Please note there is a difference between memcache and memcached. I’ve found that the Magento sessions integration expects you to use this:
<session_save><![CDATA[memcached]]></session_save>
You should install the PHP memcached libraries, as well.

TCPServer Error: Address already in use - bind(2)

Jekyll was working fine for me few weeks back but now all of a sudden it gives me the following error:
TCPServer Error: Address already in use - bind(2)
INFO WEBrick::HTTPServer#start: pid=7300 port=4000
% lsof -i :4000
<fetches nothing>
Even though nothing is running on the port. Below are the details:
% jekyll --version
Jekyll 0.11.2
% where jekyll
/home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll
/usr/bin/jekyll
% ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
% rvm --version
rvm 1.10.0
Here is the output
% jekyll --server
Configuration from /home/bhaarat/blog/omnipresent.github.com/_config.yml
Auto-regenerating enabled: /home/bhaarat/blog/omnipresent.github.com -> /home/bhaarat/blog/omnipresent.github.com/_site
[2012-04-21 13:46:40] regeneration: 38 files changed
[2012-04-21 13:46:40] INFO WEBrick 1.3.1
[2012-04-21 13:46:40] INFO ruby 1.9.2 (2011-07-09) [i686-linux]
[2012-04-21 13:46:40] WARN TCPServer Error: Address already in use - bind(2)
[2012-04-21 13:46:40] INFO WEBrick::HTTPServer#start: pid=7382 port=4000
I know the address isn't in use and jekyll is probably breaking for some other reason but throwing that error. What are my options? I've tried re-installing as well.
Type this in your terminal to find out the PID of the process that's using the 3000 port:
$ lsof -wni tcp:3000
Then, use the number in the PID column to kill the process:
$ kill -9 PID
I was not qualified to post comment. So I added a new answer.
I encountered this problem on Mac OS X 10.10.3. And I had never installed/used Jekyll before. I was not able to start jekyll server with its default port number 4000. The reason was that the port was the same as what NoMachine used. With
$ sudo lsof -wni tcp:4000
Note: Running this command without sudo will have no output.
I saw this output:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nxd 449 nx 3u IPv4 0x8d22************ 0t0 TCP *:terabase (LISTEN)
nxd 449 nx 4u IPv6 0x8d22************ 0t0 TCP *:terabase (LISTEN)
The port 4000 was occupied by nxd, which was the process started by NoMachine. And
$ sudo kill -9 449
would not work, because NoMachine's nxd process would keep restarting, with a new PID.
Therefore, I had to either:
Changed my jekyll server port in the site _config.yml to another spared one. I appended the line below to _config.yml and it worked.
port: 3000 # change server port to 3000
or
Changed NoMachine's default nxd port, or Uninstall NoMachine
Ctrl-Z doesn't terminate a program, but rather suspends it and sends it to the background. You can resume the program with the "fg" command. To actually terminate it, use Ctrl-C.
The actual error message seems to be bogus and can be ignored. I am getting the same error message "address in use" but jekyll works fine anyway at the expected port.
I have met this problem recently.
I tried out all the method mentioned above, and even restarted my computer, but still couldn't solve it!!! Then I removed the jekyll and installed a new version, it just worked.
gem uninstall jekyll & gem install jekyll (maybe you need super user priviledge).
If you really get annoyed with similar bugs, this sb method is worth a try...
Based on the top answer, I came up with a simple way
lsof -wni tcp:3000 | xargs -I{} kill -9 {}
It takes the output of finding PID in which port the tcp server is running at. In this case it is 3000.
It then kills the processes running that
PID
Check that you don't have another terminal open where you are already running a server.
If that is the case, do a CTRL-C to shutdown the server, and that will free the port/address.
First you need to find PID of the process that's using the 3000 port:
$ps -ef
Output Like this:
1003 4953 2614 0 08:51 pts/0 00:00:00 -bash
1003 5634 1 0 08:56 pts/0 00:00:00 spring server | moviestore | started 2 hours ago
1003 5637 5634 0 08:56 ? 00:00:01 spring app | moviestore | started 2 hours ago | development mode
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
1003 6117 2614 0 09:03 pts/1 00:00:00 -bash
root 6520 2 0 09:57 ? 00:00:00 [kworker/u8:2]
root 6936 1225 0 11:09 ? 00:00:00 [lightdm] <defunct>
1003 7084 1 0 11:09 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
1003 7475 1 0 11:10 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
root 8739 1225 1 11:29 tty8 00:00:11 /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
root 8853 1225 0 11:29 ? 00:00:00 lightdm --session-child 13 22
1002 8943 1 0 11:30 ? 00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
1002 8954 8853 0 11:30 ? 00:00:00 gnome-session --session=ubuntu
1002 8992 8954 0 11:30 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002 8995 1 0 11:30 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002 8996 1 0 11:30 ? 00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
1002 9007 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1002 9015 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfsd
1002 9018 8954 1 11:30 ? 00:00:07 compiz
1002 9021 1 0 11:30 ? 00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
1002 9028 8954 0 11:30 ? 00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1002 9029 8954 0 11:30 ? 00:00:01 nautilus -n
1002 9030 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
1002 9031 8954 0 11:30 ? 00:00:00 nm-applet
1002 9032 8954 0 11:30 ? 00:00:02 /opt/mTrac/mTrac
1002 9033 8954 0 11:30 ? 00:00:00 bluetooth-applet
1002 9045 9032 0 11:30 ? 00:00:00 /opt/mTrac/mTrac --type=zygote --no-sandbox
1002 9050 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
1002 9054 1 0 11:30 ? 00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
1002 9057 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1002 9062 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor
here you can see :
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
localhost:3000 have pid: 6078
kill that process by
$sudo kill 6078
then run
$rails s
we can user fuser command
fuser -k 3000/tcp
work around
in /_site run: python -m SimpleHTTPServer 8080

Resources