Mac OS x Restart Apache Web Server

How do I restart Apache web server under Mac OS X operating systems?

The apachectl command act as Apache HTTP Server control interface. It can be used to start, stop, and restart the Apache web server from command line.

Open a terminal and type any one of the following command:

sudo apachectl restart


sudo apachectl -k restart

Fig.01: Restarting Apache under Mac OS X

Task: Stop Apache Web server

sudo  apachectl -k stop

Task: Start Apache Web server

sudo  apachectl -k start

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 12 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
12 comments… add one
  • Robert de Bock Nov 27, 2009 @ 11:59

    Thanks, but it might be easier this way: Open the “Sharing” preference, (de-)select “Web Sharing”.

  • 🐧 nixCraft Nov 27, 2009 @ 13:54

    I was just wondering if OS X got some sort of service manager. I need to dig it a little more…

    thanks for the comment!

  • Robert de Bock Nov 27, 2009 @ 14:10

    The software to start/stop (load/unload) services is called “launchctl”. From the man page:

    launchctl interfaces with launchd to load, unload daemons/agents and generally control launchd. launchctl supports taking subcommands on the command line, interactively or even redirected from standard input.
    These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf to be read at the time launchd starts.

  • Leaman Crews Nov 27, 2009 @ 17:15

    Vivek, what does the -k switch do? I couldn’t find it in the man page for apachectl on a Mac OS X system.

  • 🐧 nixCraft Nov 27, 2009 @ 18:37

    @Robert, I will look into it.

    @Leaman, the apachectl command works in two modes:
    a) Sys v style mode – One line command mode which take args like start, restart, and stop, and translating them into appropriate UNIX signals to httpd.

    apachectl start | stop | restart | graceful|graceful-stop

    b) Traditional UNIX mode with lots of options for testing and debugging. In this mode it can act as a simple front-end to the httpd command that simply sets necessary environment variables and then invokes httpd, passing through any command line arguments.

    apachectl -t
    apachectl -k stat | stop
    apachectl -d /webroot


  • Mashin Abad Apr 20, 2011 @ 7:53

    it does’mt work for me :(

  • Sumit Jul 3, 2011 @ 9:06

    SUM-IT:~ sumitgupta$ apachectl -k graceful
    httpd: Syntax error on line 488 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+entropy-php.conf: Cannot load /usr/local/php5/ into server: dlopen(/usr/local/php5/, 10): Symbol not found: _libiconv\n Referenced from: /usr/local/php5/lib/libintl.8.dylib\n Expected in: /usr/lib/libiconv.2.dylib\n
    SUM-IT:~ sumitgupta$

    this is the problem i am facing please help…..

  • javier Aug 5, 2011 @ 17:29

    i receive an error when I try to restart apache with: sudo apachectl restart
    the error reads: /urs/sbin/apachectL: line 73: unlimit: open files: cannot modify limit: invalid argument

    can anyone help! please.

  • leamanc Aug 5, 2011 @ 17:36

    @Javier, I’d say there is an error in your httpd.conf file. Open it up in the plain-text editor of your choice–one that shows line numbers–and look at line 73. There is either a syntax error or an invalid argument for the option contained on that line.

    Good luck!

    • javier Aug 5, 2011 @ 21:08

      i went to httpd.conf file and line 73 is ‘LoadModule include_module libexec/apache2/ ‘ do you know anything about this kind of issue?
      thanks in advanced!

    • Mike Ritter Oct 7, 2012 @ 0:32

      This is not the correct solution. Please see my other reply for the solution.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum