Click on the link above to download Apache Directory Studio for macOS. The download appeares in the Downloads folder in Finder. Double-click on the disk image to open it. Drag-and-drop the Apache Directory Studio application on the Applications folder to install it. Apache has been the most popular web server on the Internet since 1996. He Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade.

macOS Update: While these instructions still work, there are new posts for recent versions of macOS, the latest being Install Apache, PHP, and MySQL on macOS Mojave.

PHP Update: Mac OS X El Capitan comes pre-installed with PHP version 5.5 which has reached its end of life. After you complete this post, you should upgrade PHP on Mac OS X.

Note: This post is for new installations. If you have installed Apache, PHP, and MySQL for Mac OS X Yosemite, read my post on Updating Apache, PHP, and MySQL for Mac OS X El Capitan.

Mac OS X runs atop UNIX. So most UNIX software installs easily on Mac OS X. Furthermore, Apache and PHP come packaged with Mac OS X. To create a local web server, all you need to do is configure Apache and install MySQL.

I am aware of the web server software available for Mac OS X, notably MAMP. These get you started quickly. But they forego the learning experience and, as most developers report, can become difficult to manage.

Running Commands

First, open the Terminal app and switch to the root user so you can run the commands in this post without any permission issues:

Enable Apache on Mac OS X

Verify It works! by accessing http://localhost

Enable PHP for Apache

First, make a backup of the default Apache configuration. This is good practice and serves as a comparison against future versions of Mac OS X.

Now edit the Apache configuration. Feel free to use TextEdit if you are not familiar with vi.

Uncomment the following line (remove #):

Restart Apache:

You can verify PHP is enabled by creating a phpinfo() page in your DocumentRoot.

The default DocumentRoot for Mac OS X El Capitan is /Library/WebServer/Documents. You can verify this from your Apache configuration.

Now create the phpinfo() page in your DocumentRoot:

Verify PHP by accessing http://localhost/phpinfo.php

Install MySQL on Mac OS X El Capitan

Download and install the latest MySQL generally available release DMG for Mac OS X.

The README suggests creating aliases for mysql and mysqladmin. However there are other commands that are helpful such as mysqldump. Instead, you can update your path to include /usr/local/mysql/bin.

Note: You will need to open a new Terminal window or run the command above for your path to update.

Apache

Finally, you should run mysql_secure_installation. While this isn't necessary, it's good practice to secure your database.

Download Apache Mac

Connect PHP and MySQL

You need to ensure PHP and MySQL can communicate with one another. There are several options to do so. I do the following:

Additional Configuration (optional)

The default configuration for Apache 2.4 on Mac OS X seemed pretty lean. For example, common modules like mod_rewrite were disabled. You may consider enabling this now to avoid forgetting they are disabled in the future.

I edited my Apache Configuration:

I uncommented the following lines (remove #):

If you develop multiple projects and would like each to have a unique url, you can configure Apache VirtualHosts for Mac OS X.

If you would like to install PHPMyAdmin, return to my original post on installing Apache, PHP, and MySQL on Mac OS X.

Find this interesting? Let's continue the conversation on Twitter.

Content

Apache Tomcat

The Apache Tomcat® software is an open source implementationof the Java Servlet, JavaServer Pages, Java Expression Language and JavaWebSocket technologies. The Java Servlet, JavaServer Pages, Java ExpressionLanguage and Java WebSocket specifications are developed under theJava CommunityProcess.

The Apache Tomcat software is developed in an open and participatoryenvironment and released under theApache License version 2. TheApache Tomcat project is intended to be a collaboration of the best-of-breeddevelopers from around the world. We invite you to participate in this opendevelopment project. To learn more about getting involved,click here.

Apache Tomcat software powers numerous large-scale, mission-critical webapplications across a diverse range of industries and organizations. Some ofthese users and their stories are listed on thePoweredBywiki page.

Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcatproject logo are trademarks of the Apache Software Foundation.

2020-09-20 Tomcat 7.0.106 Released

The Apache Tomcat Project is proud to announce the release of version 7.0.106 ofApache Tomcat. This release contains a number of bug fixes and improvementscompared to version 7.0.105.

  • Add support for a read idle timeout and a write idle timeout to the WebSocket session via custom properties in the user properties instance associated with the session. Based on a pull request by sakshamverma.
  • Update the packaged version of the Tomcat Native Library to 1.2.25

Full details of these changes, and all the other changes, are available in theTomcat 7 changelog.

Note: End of life date for Apache Tomcat 7.0.x is announced.Read more...

2020-09-15 Tomcat 9.0.38 Released

The Apache Tomcat Project is proud to announce the release of version 9.0.38of Apache Tomcat. The notable changes compared to 9.0.37 include:

  • For requests containing the Expect: 100-continue header, optional support has been added to delay sending an intermediate 100 status response until the servlet reads the request body, allowing the servlet the opportunity to respond without asking for the request body. Based on a pull request by malaysf.
  • Add support for a read idle timeout and a write idle timeout to the WebSocket session via custom properties in the user properties instance associated with the session. Based on a pull request by sakshamverma.
  • Update the packaged version of the Tomcat Native Library to 1.2.25

Apache Web Server Download

Full details of these changes, and all the other changes, are available in theTomcat 9changelog.

2020-09-15 Tomcat 8.5.58 Released

The Apache Tomcat Project is proud to announce the release of version 8.5.58of Apache Tomcat. Apache Tomcat 8.5.x replaces 8.0.x and includes new featurespulled forward from Tomcat 9.0.x. The minimum Java version and implementedspecification versions remain unchanged. The notable changes comparedto 8.5.57 include:

Download Apache Http Server For Mac Windows 7

  • For requests containing the Expect: 100-continue header, optional support has been added to delay sending an intermediate 100 status response until the servlet reads the request body, allowing the servlet the opportunity to respond without asking for the request body. Based on a pull request by malaysf.
  • Add support for a read idle timeout and a write idle timeout to the WebSocket session via custom properties in the user properties instance associated with the session. Based on a pull request by sakshamverma.
  • Update the packaged version of the Tomcat Native Library to 1.2.25

Full details of these changes, and all the other changes, are available in theTomcat 8.5changelog.

2020-09-14 Tomcat 10.0.0-M8 Released

The Apache Tomcat Project is proud to announce the release of version 10.0.0-M8of Apache Tomcat. This release is a milestone release and is targeted at JakartaEE 9.

Users of Tomcat 10 onwards should be aware that, as a result of the move fromJava EE to Jakarta EE as part of the transfer of Java EE to the EclipseFoundation, the primary package for all implemented APIs has changed fromjavax.* to jakarta.*. This will almost certainlyrequire code changes to enable applications to migrate from Tomcat 9 and earlierto Tomcat 10 and later. Amigrationtool is under development to aid this process.

The notable changes in this release are:

  • For requests containing the Expect: 100-continue header, optional support has been added to delay sending an intermediate 100 status response until the servlet reads the request body, allowing the servlet the opportunity to respond without asking for the request body. Based on a pull request by malaysf.
  • Add support for a read idle timeout and a write idle timeout to the WebSocket session via custom properties in the user properties instance associated with the session. Based on a pull request by sakshamverma.
  • Update the packaged version of the Tomcat Native Library to 1.2.25

Full details of these changes, and all the other changes, are available in theTomcat 10(alpha) changelog.

2020-09-03 Tomcat Native 1.2.25 Released

The Apache Tomcat Project is proud to announce the release of version 1.2.25 ofTomcat Native. The notable changes since 1.2.24 include:

  • Various improvements to the build process
  • Add an option to allow the OCSP check to be bypassed

Download |ChangeLog for 1.2.25

2020-03-06 Tomcat Connectors 1.2.48 Released

The Apache Tomcat Project is proud to announce the release of version 1.2.48 ofApache Tomcat Connectors.This version fixes a number of bugs found in previous releases.

Download |ChangeLog for 1.2.48

2015-03-17 Apache Standard Taglib 1.2.5 Released

Download Apache Http Server For Mac

The Apache Tomcat Project is proud to announce the release of version 1.2.5 ofthe Standard Taglib. This tag library provides Apache's implementation of the JSTL 1.2 specification.

Version 1.2.5 is a minor bug fix release reverting a change made in 1.2.1 where<c:import> modified the HTTP method during POST operations, and fixing anissues that resulted in an AccessControlException during startup unlesspermission was granted to read the accessExternalEntity property.

Please see the Taglibs section for more details.

Download |Changes

2013-11-11 Tomcat Maven Plugin 2.2 Released

The Apache Tomcat team is pleased to announce the release of Tomcat Maven Plugin 2.2.Changelog available here.

The Apache Tomcat Maven Plugin provides goalsto manipulate WAR projects within the Apache Tomcat servlet container.

Download Apache Http Server For Mac

The binaries are available from Maven repositories. You should specify theversion in your project's plugin configuration:

or

Old news