Apache Web Server





The Apache HTTP Server is a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Typically Apache is run on a Unix-like operating system, but it is available for a wide variety of operating systems, including Linux, Novell NetWare, Mac OS-X and Windows. Released under the Apache License, Apache is open-source software.

Share tech news, updates, or what's on your mind.

Sign up to Post

I am using the below RewriteRule which does what I require. However it effects any other created folders within the "materials/guide/" folder. Can I change it so it only applies to the "materials/guide/details/ folder?

RewriteRule ^materials/guide/([A-Za-z0-9-]+)/?$ /materials/guide/details/index.php?link=$1 [NC]

Open in new window

Or exclude other sub folders in "materials/guide/" if easier?
Free Backup Tool for VMware and Hyper-V
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

Apache2 quit working when I was messing with the config files and when I purged it and installed it, it quit working.

After I got it working again PHP wasn't working, so I removed it and reinstalled it and it's still not working.

Then I tried to remove PHP and then remove Apache2. I installed Apache2 then installed PHP and it's not working.

From the terminal

Setting up libapache2-mod-php7.1 (7.1.8-2+ubuntu16.04.1+deb.sury.org+4) ...
dpkg: error processing package libapache2-mod-php7.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
I had my Apache2 running good on my development machine.

I changed some site configurations and started running the noip.com's client, even though this is a production machine, to see if I could access it from the world wide web.

I tried to install it in terminal and came across the following error

brian@brian-XPS-13:~$ sudo service apache2 start
[sudo] password for brian: 
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
brian@brian-XPS-13:~$ sudo apt remove apache2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-data apache2-utils
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
0 upgraded, 0 newly installed, 1 to remove and 121 not upgraded.
After this operation, 501 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 278612 files and directories currently installed.)
Removing apache2 (2.4.18-2ubuntu3.4) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ufw (0.35-0ubuntu2) ...
brian@brian-XPS-13:~$ sudo apt purge apache2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-data apache2-utils

Open in new window

While installing tomcat how to know which http free port is free?8080 is always busy occupied by glassfish etc.

any tool or software etc which tells all free and occupied ports on my windows laptop to decide which port to allocate to tomcat?

what is ajp/1.3 conector port 8009 which shows while installing?
please advise
I am running apache 2.2.32 (openssl version 1.0.2k) version with php 5.2.12 (openssl version 0.9.8t ) setup on my server. I have extension=php_openssl.dll uncomment in php.ini ( on correct location of php.ini). I was not able to load the openssl module in phpinfo.

I tried to copy the following two libraries from \php\ext to \windows\system32 folder as well.
1. libeay32.dll
2. ssleay32.dll

Still I could see the openssl reference corresponding to apache where ever apache version is specified on loading but php openssl module is not showing up in phpinfo().

I tried to install latest openssl from openssl website and copy the relevant library folders in both apache and windows\system32 folder to resolve it but the module is not loading. I want to know if i can check if there is any compatibility issues with openssl or I am missing any steps in between.

Can anyone let me help me?

I recently upgraded to a new SSL certificate. My old used to include both the www and naked domains (e.g. https://www.chloedog.org and https://chloedog.org).  But the new certificate only includes the naked domain.  

I'm trying to use a .htaccess redirect so that both are accomplished in one pass.  I've tried a few different things and none work.

The most recent was:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://chloedog.org/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Open in new window

With the above, the following happens:

http://www.chloedog.org?129  - Works Fine
http://chloedog.org?129 - works fine
https://chloedog.org?129 - works fine
https://www.chloedog.org?129 - I get an "insecure connection" message.

Can you tell me what I'm doing wrong? It is like it looks for the certificate before doing the redirect.
Is it possible to block a state via htacess?  Hypothetical, I am not allowed to business in CA so I want to block the state of CA?
Are there instructions on how to block all countries except the USA via htaccess?
I created an htaccess file in my directory for pma.fivetier.com with the following:

order deny,allow
deny from all
allow from xx.xxx.xxx.xx

Open in new window

When trying to visit from my IP I get a testing 123... page if you visit link above you will see.   If I remove the .htaccess file I have full access again without any problem.  What am I doing wrong?  Do I need to use ipv6 address or something?
I have a network like this: Database - Web - Redis - Internet.
The Redis is on CentOS 7, i use nginx and php5. The redis and database are install in 1 VPS.
I would like to know does redis connect to the database or not, could i know it's caching or not from INFO command?
And further, if i want it to write back to database after a unit of time, what should i do, and how can i config it?
Thank you very much for reading this.
I am currently trying to develop a database for simultaneous remote user access (not a LAN network). From what i've researched, im going to do the LAMP stack (Ubuntu 16.04 server, Apache, MySQL and PHP). However, would this force the 10 end users to enter data through php and then I would have to connect the PHP forms to MySQL database? Can end users manage to see the tables this way or edit changes to database once they submit the forms?  Thanks for your help!

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

In my previous server I wasn't running mod_perl, but in the new environment I'm setting up I need to.  There are some fundamental differences that I need some help with.

In the current environment, I have a lib folder under the cgi-bin directory.  All of my scripts reference it relatively.  
require "lib/function.lib";

For my packages I just use:
use lib "lib";
use MyPackage;

This works really well for me for a number of reasons.  I have a dev and production environment that are completely identical and completely separate, but living on the same machine.  I can move programs from dev into production at will without having to change anything.  It's made life much easier.

However in mod_perl it doesn't seem to run in the cgi-bin directory but somewhere else entirely.  I'm not sure if it possible to get the same functionality or how to do it.  Any help would be appreciated.
We are still using Tomcat 6.0 and plan to move to latest version by next year. Problem with current version is to set the access deny to our web-application.

I tried adding valve with webapps/META-INF/context.xml file as below but nothing works. Can you please provide a fix.

<Context antiJARLocking="true" path="/">
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="{IP_address}" />


<Context antiResourceLocking="false" privileged="true">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1,8\.8\.4\..*"/>

Open in new window

Do you guys have any another solution as I want to restrict outside users from accessing Manager view and it will be accessible only from localhost?

Best Regards
The error i get when i use port 21The error i get when i use port 21The error i get when i use port 21I have  this ftp dameon installed on my server for ftp access : psa-proftpd      1.3.5b-cos7.build1205160427.18. I am running centos 7 with a plesk 12.5 control panel. Each time i try to access port 21 with a valid user name and password i get an error. I have a screenshot of the area as an attachment to this question. I have never setup the ftpd dameon, it was installed when plesk was installed. I need help on understanding, do i need to do some manual changes to the config file of this dameon. I have firewalld and a router running, and both allow port 21 access to the real world. What can be the problem here, please help. I even check to see if the port is open from the web and it is. I am sure this issue is not hard, i just am a bit stuck at this point.
I have a text box on a php page residing on my apache web server which has the following:
"£300 plus other text lines"

The page is uft-8 encoded
The text "£300" is displayed correctly on my web server - ie the "£" sign comes across correctly
If I send the details of this text box via a php form, the "£300" comes out as "£300"

Can someone explain what is happening and how I can get rid of the £ and replace with £

I'm in the process of building a website it's still at the early stages on a local machine

Is it possible to view this over the internet just with a ip address  or do I need to register a domain?

What steps within windows are there to do this?

I'm running WAMP
Have a website.  I am trying to create a test website based on the main website to troubleshoot an issue.  I created the site using FileZilla.  I copied the files from the main site "internal.mysite.com" to "internaltest.mysite.com".

I logged into apache and modified the apache.conf file using "sudo nano /etc/apache2/apache2.conf"

Copied below
<VirtualHost *:80>
   DocumentRoot "/home/webserver/www/internal.mysite.com"
   ServerName internal.mysite.com
   <Directory "/home/webserver/www/internal.mysite.com">
       Require ip
       Require ip
       Require ip
       Require ip
       Require ip

Open in new window

<VirtualHost *:80>
   DocumentRoot "/home/webserver/www/internaltest.mysite.com"
   ServerName internaltest.mysite.com
   <Directory "/home/webserver/www/internaltest.mysite.com">
       Require ip
       Require ip
       Require ip
       Require ip
       Require ip

Open in new window

Then hit ctrl+x and then Y for save

Restarted server with "sudo service apache2 restart".

Server restarted successfully.

I can access internal.mysite.com but internaltest.mysite.com returns a DNS error -> can’t find the server at internaltest.mysite.com.

I did the exact same steps to a previous site and it works but this one is not.

I also checked the file permissions and ensured that internaltest.mysite.com matched internal.mysite.com.

Any ideas?
I have to connect to stored procedure and get the datatable by using tomcat .
Any suggestions appreciated.
Interestingly enough I have no problem using let's encrypt on Windows platform and figured it was going to be a breeze on *nix... Running into a slew of issues.  For one I am trying to use certbot to facilitate this.  When I issue the correct commands and webroot I see it builds the .well-known folder but it does not build the acme-challenge folder.  If I try to manually create the acme-challenge folder it deletes it after the sudo certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com command (with my domain info substituted of course) with the following error:

Detail: Invalid response from
   <title>403 Forbidden</title>
Super frustrated as everything in *nix is always easier, right?  Well not this time LOL.   Any suggestions would be appreciated!

I would like all three of these:


...to redirect to:


I would like to "keep" anything after the .com, such as:


I'd also like to keep the domain generic, so I can reuse this code for many websites.

Can it be done? I have seen various examples of parts of this, but haven't found a comprehensive solution.

Windows Server 2016: All you need to know
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

I have a Debian server with about 15 websites running fine. I added a new website and that is too running fine. However, I also want to add a ssl connection for this website, but whatever I try Apache refuses to show the website. It just shows the default debian page. I allready tried replacing the default ssl file with the file for the website, but then I get a ssl protocol error. Apachectl shows no errors, so do the logs. If I make an error in the config file apachectl gives an error, so the conf file is read by Apache. I've been figuring this out for hours, but I am completely stumped now.
AuthType Basic
AuthName "Auth Required"
AuthUserFile C:/xampp/apache/bin/passwordfile
Require valid-user
# allow public access to the following resources
SetEnvIf Request_URI "(path/to/directory/)$" allow
SetEnvIf Request_URI "(C:/xampp/htdocs/TickTock_int/results_invoices_IDsel_Client.php\.php)$"  allow
SetEnvIf Request_URI "(util)$"  allow
Order allow,deny
Allow from env=allow
Allow from ::1
Satisfy any

Open in new window

I am trying to allow access through my xampp .htaccess file to the referenced php page above
Problem is the .htaccess is still active when I access this page externally

I hope you are well.

I am having the following issue which I'm hoping someone can help me with.

I am trying to create a wordpress site hosted in my machine and using xampp to do so.

I was successful initially and could start wi¡orking on the site but suddenly the apache service on xampp would not start. I read that this could be resolved uninstalling apache from  the computer with the console and installing xampp again which did resolve it but now I get the following error when I type http://localhost/C:/xampp/htdocs/wordpress/nomind on the browser to biuld the site:

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster.

Error 403

localhost Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30

I downloaded wamp and had the same problem, also xampp on another computer I have at home and also had the same issue. I even restored my computer since I did not had the problem initially but it did not help.

Thank you very much in advance for your time and help!!!
   We are facing 502 proxy error: Error reading status line from remote server <dns>:<port>   when we try to  reverse proxy to Apache server from our apache server. OS is Redhat linux. A simple redirect works but not the proxy. Also we see the 200 ok only through browsers and not curl or wget commands.  We tried setting  SetEnv proxy nokeepalive 1   but still no luck. Any suggestions for the same.
Hey Guys,

I'm using WIN 2008 server and IIS6 along with Tomcat6. I'm getting timeout for a document while timeout limit is set to 200 sec at both end.
I believe below 120422 is the time it took before time out and error shown as 502.3

PDF&APPLICATION_NAME=FORM=KEY=VALUE=27086&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=********54225b6eecd0 443 - 10.*.*.* Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:52.0)+Gecko/20100101+Firefox/52.0 502 3 12002 120422
Have you ever faced such scenario?

I have run phpinfo(); and it tells me there are three modules -

v7.1, v5.6 and v5.3 in c:/program Files and c:/Program Files x86 but the only one I can find is v7.1 which I'm running.

I had installed 5.3 and 5.6 earlier and thought I had removed them but they are still listed somewhere.

Will this matter to PHP (which it doesn't at this point) or where can I find them to be removed ?


Apache Web Server





The Apache HTTP Server is a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Typically Apache is run on a Unix-like operating system, but it is available for a wide variety of operating systems, including Linux, Novell NetWare, Mac OS-X and Windows. Released under the Apache License, Apache is open-source software.