- Установка Apache, PHP, MySQL в macOS
- Установка Apache
- Установка PHP
- Установка MySQL
- Дополнительные действия после установки MySQL
- Меняем пароль root’а в MySQL
- Запуск MySQL сервера из терминала
- Запуск MySQL сервера из Системных настроек
- Проверка работоспособности
- Заключение
- Запуск WEB сервера под MAC OS x
- Включаем встроенный WEB Server Apache
- Конфигурация Apache
- Конфигурация виртуальных хостов
- Проверка и тестирование результата
- How to Install Apache on macOS via Homebrew
- Prerequisites
- Step 1 – Install Apache on macOS
- Step 2 – Configure Apache
- Set Apache Port
- Change Document Root
- Enable Rewrite Module
- Setup User & Group for Apache
- Step 3 – Configure Application on Apache
- Step 4 – Manage Apache Service
- Related Posts
- How To Setup Apache, PHP & MongoDB in Ubuntu & Debian
- Common Apache Commands on Ubuntu & Debian
- How to Install and Secure Apache on Debian11
- 20 Comments
Установка Apache, PHP, MySQL в macOS
Рассмотрим, как установить веб-сервер Apache, PHP и MySQL в macOS.
Все действия в данной статье будут выполняться в macOS Sierra.
Установка Apache
Хорошая новость — веб-сервер Apache уже установлен в вашей системе. Его нужно только запустить. Для этого откройте терминал и выполните в терминале команду:
Данной командной мы выполняем утилиту apachectl с правами суперпользователя (так как перед командной мы вводим sudo) и передаем утилите опцию start. Обратите внимание, что после того, как вы нажмете Enter, необходимо будет ввести пароль, который вы используете для входа в систему. При вводе пароля на экране не будет никакой индикации или символов, которые вы вводите. Просто введите пароль и нажмите Enter.
Команда должна выполниться без ошибок. Теперь можно проверить, что Apache запущен и работает. Для этого откройте браузер и перейдите на страницу: http://localhost . Откроется страница с надписью «It works!».
Файлы localhost’а лежат в директории /Library/WebServer/Documents .
Установка PHP
И снова хорошая новость — PHP уже установлен. Нужно только включить его поддержку веб-сервером.
Для этого необходимо отредактировать файл конфигурации Apache: /etc/apache2/httpd.conf
Для редактирования мы воспользуемся консольным редактором nano . Он простой, но для новичка может оказаться непривычным.
Откроем файл конфигурации:
В файле необходимо раскомментировать строку, которая отвечает за загрузку модуля php5_module:
LoadModule php5_module libexec/apache2/libphp5.so
Найдите эту строку в файле и удалите перед строкой символ # .
Теперь закройте и сохраните файл. Для этого нажмите Ctrl + X , отобразится предупреждение » Save modified buffer «, нажмите Y , а затем Enter .
Так как конфигурация сервера изменилась, необходимо перезапустить сервер, чтобы новые параметры вступили в силу. Для перезапуска Apache выполните в терминале команду:
Установка MySQL
Для установки MySQL необходимо скачать с сайта mysql.com пакет с инсталлятором.
Перейдите на страницу http://dev.mysql.com/downloads/mysql/ и скачайте DMG-файл вида mysql-5.7.16-osx10.11-x86_64.dmg. После того, как вы нажмете на ссылку Download, откроется страница с предложением войти или зарегистрироваться на сайте. Регистрироваться не нужно, внизу страницы есть ссылка «No thanks, just start my download.«, нажмите на нее.
Дважды щёлкните по только что загруженном DMG-файлу. Откроется новое окно, в котором дважды щелкните по файлу mysql-5.7.16-osx10.11-x86_64.pkg. Запустится инсталлятор MySQL. Читайте сообщения инсталлятора и нажимайте кнопку Продолжить .
В конце установки отобразится окошко, в котором будет написан временный пароль root’а для доступа к MySQL. Запишите его.
Дополнительные действия после установки MySQL
Теперь нужно выполнить еще одно важное действие. Дело в том, что в MySQL есть небольшая ошибка, которая уходит в корнями в 2012 год, но исправить ее очень просто. Выполните в терминале последовательно следующие команды:
Теперь снова перезапустите Apache:
Меняем пароль root’а в MySQL
Выше, во время установки MySQL, мы получили временный пароль root пользователя. Однако, его необходимо поменять. Обращаю ваше внимание на то, что речь идеть про пароль пользователя root для MySQL сервера и этот пароль ни как не связан с паролем, который вы используете для входа в систему или при выполнении команд через sudo.
Чтобы задать новый пароль для root пользователя в MySQL необходимо выполнить в терминале ряд команд.
- Остановим MySQL сервер, если вдруг он запущен:
- Запустим сервер в режиме safe mode:
- Запустим консольную утилиту mysql (MySQL Command-Line Tool). Откройте новое окно терминала и выполните:
- Введите команду:
- Затем установим новый пароль (вместо NewPassword введите свой пароль):
- Выйдем из утилиты mysql. Введите команду:
Запуск MySQL сервера из терминала
Запустить MySQL сервер можно из терминала или из Системных настроек.
Для запуска MySQL сервера через терминал выполните команду:
Чтобы остановить сервер выполните:
Запуск MySQL сервера из Системных настроек
В Системных настройках добавился новый пункт MySQL. Можно запускать MySQL сервер оттуда. Там же есть опция для автоматического запуска MySQL сервера при старте системы.
Проверка работоспособности
Как написано выше, файлы сайта localhost находятся в директории /Library/WebServer/Documents. Мы можем для проверки создать PHP файл, в котором выполним функцию phpinfo(). Для этого можно воспользоваться терминалом. Создадим файл /Library/WebServer/Documents/testfile.php и добавим в него вызов функции phpinfo():
Теперь можно открыть файл в браузере, перейдя по адресу: http://localhost/testfile.php
Чтобы проверить, что MySQL сервер работает, и мы можем выполнять действия с базами данных, можно воспользоваться утилитой mysql. Выполните в терминале:
Введите пароль пользователя root и нажмите Enter. Вы попадете в shell для управления MySQL. Введите команду:
Отобразится список текущих баз данных. Завершите работу введя:
Заключение
Итак, мы установили Apache, PHP и MySQL в macOS. Следующим шагом будет установка phpMyAdmin и настройка виртуальных хостов (сайтов).
Источник
Запуск WEB сервера под MAC OS x
Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер Apache с подключением PHP и MySQL.
т.к. я буду 100% натыкаться на какие нибудь «вилы» то эта статья будет постоянно дополняться + буду ждать комментарии от Вас
Давайте для удобства разобьем эту статью на подпункты:
[contents]
Включаем встроенный WEB Server Apache
Приведенный материал является универсальным и будет полезен пользователям любых операционных систем.
Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.
Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».
Либо можно запустить Apache через командную строку Терминала набрав след команду:
sudo apachectl start
Конфигурация Apache
Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf :
sudo nano /etc/apache2/httpd.conf
Раскомментируем ServerName и приведем ее к такому виду:
ServerName localhost
Далее подключаем PHP (необходимо раскомментировать строку):
LoadModule php5_module libexec/httpd/libphp5.so
Далее изменим каталог где у нас будут лежать тестовые сайты После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.
DocumentRoot «/Library/WebServer/Documents»
DocumentRoot «/Users/имя_пользователя/Sites»
Аналогично заменим прежний путь в строке 195:
Далее в строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:
DirectoryIndex index.php index.html
В строке 469, чтобы подключить файл в котором будем записывать виртуальные хосты:
Include /private/etc/apache2/extra/httpd-vhosts.conf
Сохраняем все изменения в файле httpd.conf и перезапускаем Apache.
sudo apachectl restart
После этого переходим в браузере по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием «Ваш веб-сайт».
Теперь проверим работоспособность PHP, для этого создадим в нашем каталоге Sites тестовый PHP-скрипт:
/Sites/index.php
sudo nano
и напишем сценарий, который покажет конфигурацию PHP:
Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).
(дополнение от 4.01.2016)
Обязательно нужно еще проделать операцию с конфигурационным файлом php.ini он находится в папке /etc/php.ini.defaults , его необходимо переименовать в php.ini :
sudo cp /etc/php.ini.default /etc/php.ini
Конфигурация виртуальных хостов
Все проекты будут размещаться в каталоге пользователя Сайты ( /Users/имя_пользователя/Sites/ ). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:
mkdir
/Sites/test
touch index.php
nano index.php
и добавим сценарий:
Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта ( http://test/ ). Переходим к командной строке:
sudo nano /etc/hosts
и добавляем строчку:
127.0.0.1 test
Добавим записи с конфигурацией нового виртуального хоста:
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
И в конец файла добавляем записи:
Сохраняем изменения и перезапускаем Apache
sudo apachectl restart
Проверка и тестирование результата
фото 4. Тестирование веб сервера Hello Word
Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!»
Если ни чего не получилось, то возвращаемся в начало статьи и делаем все заново и внимательнее, если и после ни чего не получилось, то смотрим где у нас в конфигурационном файле httpd.conf лежит лог файл (по умолчанию он выглядит так ErrorLog «/private/var/log/apache2/error_log» и если Вы ничего не изменяли, то смотрите логи /private/var/log/apache2/error_log и присылайте ошибки, будем разбираться почему у Вас не работает веб сервер.
Еще можно проверить синтаксические ошибки в файле http.conf настроек командой
Данная инструкция писалась пошагово, когда я сам настраивал на своем Макбук Веб сервер. Если Вы все делаете в точности по инструкции, то у Вас точно на все 100% получится настроить web server.
Источник
How to Install Apache on macOS via Homebrew
The latest versions of macOS come with pre-installed Apache 2.4. But it’s hard to manage it via homebrew due to Apple has removed some of the required scrips from latest macOS releases. This tutorial will help you to remove default installed Apache from the system and install Homebrew version Apache on your system.
Prerequisites
Before starting the installation of Apache (HTTPD) server using this tutorial you must have the following prerequisites.
- Terminal: You must have Mac Terminal access and little knowledge about working with the terminal application. Ao login to your Mac system and open terminal
- Homebrew: Homebrew is a popular package manager for the Mac operating systems. It is useful for installing most open source software like Node. Homebrew installation tutorial
Step 1 – Install Apache on macOS
Remove built-in Apache server (if any) from your system. Open a terminal and execute commands to stop running Apache server and remove it.
Now install the new version Apache server provided by Homebrew:
After completing the installation process, configure httpd service to be auto-started on system boot.
You have successfully installed Apache web server via Homebrew, and configured it to auto-start with a privileged account.
You can try to reach your server in a browser by pointing it at http://localhost:8080, you should see a simple header that says “It works!”
Step 2 – Configure Apache
The Apache web server is running now on your macOS system. Now you will want to make some configuration changes according to your local development environment. A configuration file /usr/local/etc/httpd/httpd.conf is generated by the installer which you need to edit in a text editor and make following changes.
Set Apache Port
The Homebrew’s version of httpd uses port 8080. You have to manually change the listen port from the default of 8080 to standard port 80.
Change Document Root
Now, configure the document root for Apache. The default document root is set to “/usr/local/var/www”. You can keep the document root unchanged and put your website files to this document root. But I assume you want to change the document root to set to your home directory.
Change this to point to your user directory where your_user is the name of your user account:
You also need to change the tag configured just right below the DocumentRoot line. This should also be changed to point to your new document root as well:
In that same block you will find an AllowOverride option, Set this to all to enable the uses of the .htaccess file in Apache.
Enable Rewrite Module
Also, you should enable the mod_rewrite module by removing leading # symbol from the following line. Search the line and update it. this will enable URL rewrite on Apache.
Setup User & Group for Apache
As you have configured the Apache document root to your home directory. You will face issue for the permissions because, by default, Apache runs as the user daemon and group daemon (Maybe username and group are to _www). For the personal systems, You can change these to match your user account (replace user_name with your real username), with a group of staff.
Step 3 – Configure Application on Apache
Let’s create a Sites folder in your home directory and create a sample index.html file for the testing.
Restart apache to ensure your configuration changes have taken effect:
Now, Point your browser to http://localhost, This should display your newly created index.html. All done.
Step 4 – Manage Apache Service
You now have installed Apache server, also configured it accordingly to your setup. The below command is used to stop, start, and restart Apache service
Related Posts
How To Setup Apache, PHP & MongoDB in Ubuntu & Debian
Common Apache Commands on Ubuntu & Debian
How to Install and Secure Apache on Debian11
20 Comments
Why do you say to run `sudo apachectl -k restart` after starting brew services httpd?! Those are two different services. Trying to start apachectl will try to start a separate app that you’ve already stopped and removed from plist.
You’re not supposed to run both if all you need is the brew service.
Why do you run `sudo brew services start httpd`? That changes ownership on /usr files:
“`
% sudo brew services start httpd
Password:
Sorry, try again.
Password:
Warning: Taking root:admin ownership of some httpd paths:
/usr/local/Cellar/httpd/2.4.48/bin
/usr/local/Cellar/httpd/2.4.48/bin/httpd
/usr/local/opt/httpd
/usr/local/opt/httpd/bin
/usr/local/var/homebrew/linked/httpd
This will require manual removal of these paths using `sudo rm` on
brew upgrade/reinstall/uninstall.
Warning: httpd must be run as non-root to start at user login!
==> Successfully started `httpd` (label: homebrew.mxcl.httpd)
“`
You say that running the command will “configure httpd service to be auto-started on system boot”, but brew says it’ll do the exact opposite.
“You have successfully installed Apache web server via Homebrew, and configured it to auto-start with a privileged account.”
What’s the point of starting it with a privileged account? I’m just using it for testing local repo changes. I don’t need https or anything like that.
Since I noticed the folders’ owners were changed to `root` (unlike all other folders in the directory), I stopped the service and changed ownership back to my user.
“`
% sudo chown -R sydcon /usr/local/Cellar/httpd/2.4.48/bin\
/usr/local/Cellar/httpd/2.4.48/bin/httpd\
/usr/local/opt/httpd\
/usr/local/opt/httpd/bin\
/usr/local/var/homebrew/linked/httpd\
“`
Other tutorials I’ve seen show the command without sudo. I don’t know why sudo is needed or recommended here. You don’t mention what Apache needs privileged access for.
Thanks Rahul, Its Very Helpful for me,
if ‘sudo apachectl -k restart’ command give an error, run this command : ‘sudo /usr/sbin/apachectl -k restart’
Thanks Mete, for the useful details.
Thanks a lot ! This help me so much !
I have configured apache but master process starts as user _www as well (should start as root), so that it can’t reads certificates in /etc/letsencrypt/live/ that are private for root ; is there a way to start correctly master process ? I’m running Mac OS server too and and that’s correctly configured
apache brew:
_www 68719 0,0 0,0 4488604 1808 ?? S Lun11pm 0:00.12 /usr/local/opt/httpd/bin/httpd -k start
_www 68642 0,0 0,0 4488604 1788 ?? S Lun11pm 0:00.08 /usr/local/opt/httpd/bin/httpd -k start
_www 68591 0,0 0,0 4488604 1700 ?? S Lun11pm 0:00.06 /usr/local/opt/httpd/bin/httpd -k start
_www 68042 0,0 0,0 4488604 1796 ?? S Lun11pm 0:00.10 /usr/local/opt/httpd/bin/httpd -k start
_www 67725 0,0 0,0 4488604 1792 ?? S Lun11pm 0:00.11 /usr/local/opt/httpd/bin/httpd -k start
_www 53225 0,0 0,0 4488604 1784 ?? S Dom03pm 0:00.13 /usr/local/opt/httpd/bin/httpd -k start
_www 49737 0,0 0,0 4488604 1788 ?? S Dom07am 0:00.14 /usr/local/opt/httpd/bin/httpd -k start
_www 42715 0,0 0,0 4488676 1768 ?? S Sab05pm 0:00.13 /usr/local/opt/httpd/bin/httpd -k start
_www 37396 0,0 0,0 4488676 1792 ?? S Sab04am 0:00.15 /usr/local/opt/httpd/bin/httpd -k start
_www 24048 0,0 0,0 4488676 1788 ?? S Gio11pm 0:00.14 /usr/local/opt/httpd/bin/httpd -k start
Mac OS server (note process with lower pid as root):
_www 17919 0,0 0,0 4299468 1492 ?? S Gio10pm 0:00.09 /usr/sbin/httpd …
_www 17918 0,0 0,0 4299468 1488 ?? S Gio10pm 0:00.74 /usr/sbin/httpd …
_www 17915 0,0 0,0 4299468 1356 ?? S Gio10pm 0:00.30 /usr/sbin/httpd …
_www 4585 0,0 0,0 4299468 1356 ?? S 11Set19 0:00.10 /usr/sbin/httpd …
_www 4584 0,0 0,0 4299468 1356 ?? S 11Set19 0:00.09 /usr/sbin/httpd …
_www 4583 0,0 0,0 4299468 1356 ?? S 11Set19 0:00.28 /usr/sbin/httpd …
_www 4582 0,0 0,0 4299468 1516 ?? S 11Set19 0:00.51 /usr/sbin/httpd …
_www 4581 0,0 0,0 4299468 1340 ?? S 11Set19 0:00.64 /usr/sbin/httpd …
root 4555 0,0 0,0 4299492 5844 ?? Ss 11Set19 0:26.49 /usr/sbin/httpd …
Источник