As I can see in your question, you are using Apache 2.4.7, but your httpd.conf use Apache 2.2 directive.
According to Apache 2.4 manual:
Access control
In 2.2, access control based on client hostname, IP address, and other
characteristics of client requests was done using the directives
Order, Allow, Deny, and Satisfy.
In 2.4, such access control is done in the same way as other
authorization checks, using the new module mod_authz_host. The old
access control idioms should be replaced by the new authentication
mechanisms, although for compatibility with old configurations, the
new module mod_access_compat is provided.
Try this changes:
<Directory "/opt/lampp/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Allow and deny directive controls which hosts can or can't access an area of the server, Require tests whether an authenticated user is authorized according to a particular authorization provider and the specified restrictions. Require all granted means access is allowed unconditionally, let see Beyond just authorization
Update after reading configuration file:
Your default configuration file is right. The problem is wrong shebang in perl script.
Try this:
#!/usr/bin/perl
Also:
chmod +x /opt/lampp/cgi-bin/yourScript.pl
Here is a useful link about file permission problem
Second update
Change http content header:
print "Content-type:text/html\n";
This header is read by apache.
You apache is running as daemon
user, check if each directory in script path are readable.
Best Answer
The reason your not able to start it
mysql -u root -p
is because the folder location/opt/lampp/
isn't in included in your path. Add this line to your.bashrc
file:Then close it and
source
it with:If no errors comes from the above
source
command then you can now domysql -u root -p
from your terminal.