美文网首页
Mac apache2, php, mysql 配置

Mac apache2, php, mysql 配置

作者: pandaczm | 来源:发表于2016-09-29 21:54 被阅读0次

    1、启动,停止,重启apache2

    sudo apachectl start
    sudo apachectl stop
    sudo apachectl restart
    

    2、mac php 使用homebrew升级:

          brew tap homebrew/php
          brew install php70 --with-homebrew-apxs --with-apache --with-homebrew-curl --with-homebrew-openssl 
    

    虽然说是升级,其实是重新安装了一个新php,覆盖了之前的指令,系统自带的php仍然存在,只是没法通过命令行启动。

    php70 说明php的版本是7.0.*, “--with-homebrew-apxs --with-apache --with-homebrew-curl --with-homebrew-openssl ”必须加上,这样才会有libphp70.so这个文件,这个文件在后面apache2配置需要使用. (具体是哪个指令导致会生成so文件,没有进行测试)

    使用以下指令可以测试php版本:

      php -v
    

    3、apache2 配置

    再次建议使用mac原装的apache2。使用homebrew安装新的apache2的话, apachectl -v会显示版本更改了, 但localhost采用的仍然是系统自带的apache2。(可能有办法解决这个问题,没有深究下去)

    配置文件路径在/private/etc/apache2/httpd.conf

    3.1、添加php

    将代码添加到httpd.conf底部:

    # ====php module====
    LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so #(brew 安装的php路径)
    <IfModule mod_php7.c>
    # 确保能够识别php文件
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
     
    <IfModule mod_dir.c>
    DirectoryIndex index.html index.php
    </IfModule>
    </IfModule>
    

    3.2、修改root根目录

    mac中有两种根目录,一个是系统级的根目录,默认设置在/Library/WebServer/Documents, 另外一个是用户级的根目录

    修改系统级root根目录

    DocumentRoot "/Users/pandaczm/php_workspace"
    <Directory "/Users/pandaczm/php_workspace">
    

    修改成你自己之后想要建立php workspace的位置即可。

    更改完成之后,在其中建立phpinfo.php,用来测试php是否添加成功:

    echo '<?php phpinfo();' > /Users/pandaczm/php_workspace/phpinfo.php
    

    重新启动apache2之后,浏览器中输入http://localhost/phpinfo.php,显示出php版本信息:

    QQ20160929-0.png

    3.3、修改用户级的根目录

    用户级的根目录相对而言就有点麻烦了。
    首先建立一个新文件夹~/Sites,使用这个来对应用户级根目录的网址:http://localhost/~username
    httpd.conf中找到下面几行:

    LoadModule userdir_module libexec/apache2/mod_userdir.so
    
    Include /private/etc/apache2/extra/httpd-userdir.conf
    

    uncomment掉(去除前面的#

    然后打开httpd-userdir.conf(位于/private/etc/apache2/extra里面)
    uncomment掉:

    Include /private/etc/apache2/users/*.conf
    

    /private/etc/apache2/users里面新建一个username.conf, 写入:

    <Directory "/Users/username/Sites/">
    AllowOverride All
    Options Indexes MultiViews FollowSymLinks
    Require all granted
    </Directory>
    

    对该文件进行授权:

    sudo chmod 755 username.conf
    

    然后重新启动Apache2:

    sudo apachectl restart
    

    在浏览器中输入localhost/~username,可以看到:

    QQ20160929-1.png

    mysql 安装

    brew install mysql
    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
    launchctl load ~/Library/LaunchAgents/  homebrew.mxcl.mysql.plist
    

    安装结束之后,查看mysql默认调用的配置文件路径:

    mysqld --help --verbose | more
    

    一般情况下,显示出的文件夹,是没有创建配置文件 ,没有配置文件,如果使用mysql_secure_installation会出现错误:Can't connect to local MySQL server through socket '/tmp/mysql.sock'(但有的时候又不会出现这种情况,直接安装好了,就可以直接使用secure配置了。。。不知道为什么)

    可以自己创建配置文件(样例在support-files 中):

    cp /usr/local/Cellar/mysql/5.7.15/support-files/my-default.cnf /etc/my.cnf
    

    这样结束后之后,就可以使用mysql_secure_installation 记性基本的设置 (不要设置validate password,会很麻烦,密码设置起来蛋疼啊。。。)

    QQ20160929-1@2x.png

    参考:

    https://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
    https://coolestguidesontheplanet.com/forbidden-403-you-dont-have-permission-to-access-username-on-this-server/
    http://iosfen.com/14526754330295.html
    https://my.oschina.net/jiec/blog/518590

    相关文章

      网友评论

          本文标题:Mac apache2, php, mysql 配置

          本文链接:https://www.haomeiwen.com/subject/ulclyttx.html