美文网首页
Mac 本地Apache服务器设置

Mac 本地Apache服务器设置

作者: 跃文 | 来源:发表于2019-05-31 13:00 被阅读0次
前序

Apache服务器启动 : 在终端输入 sudo apachectl start 回车即可

mac本身安装了ssh服务,默认情况下不会开机自启

    1. 启动sshd服务:sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    1. 停止sshd服务:sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
    1. 查看是否启动: sudo launchctl list | grep ssh

如果看到下面的输出表示成功启动了: - 0 com.openssh.sshd

Apache自定义配置
1. 根目录路径配置

首先,Apache默认的根目录在“/Library/WebServer/Documents/”下。

我们可以将服务器根目录配置到我们自己的文件夹下:

例如 : 在/users/user中创建一个"ApacheFIle"的文件夹,

  • 1.1、切换工作目录下:cd /etc/apache2
  • 1.2、首先备份文件,只需要执行一次:sudo cp httpd.conf httpd.conf.bak (目的是在操作出现错误时可以使用命令,恢复备份的 httpd.conf 文件:sudo cp httpd.conf.bak httpd.conf)
  • 1.3、用vim编辑httpd.conf文件,httpd.conf文件时Apache的配置文件:sudo vim httpd.conf
    这时候需要输入密码来获取权限,输入密码后会出现httpd.conf的编辑界面,按下键盘 i 键即可进入编辑状态。
    在文本中找到DocumentRootDirectory,将后边路径替换为刚才自己创建的文件夹路径。
修改前:
#
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
    #
修改后
/users/user/ApacheFile
DocumentRoot "/users/user/ApacheFIle"
<Directory "/users/user/ApacheFIle>
  • 1.4 之后找到Options FollowSymLinks Multiviews:修改为Options Indexes FollowSymLinks Multiviews,在单词间添加一个 Indexes 单词。

  • 1.5 接下来查找php,:/php,定位到图中位置:(下边的第三行)

LoadModule alias_module libexec/apache2/mod_alias.so
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
#LoadModule php7_module libexec/apache2/libphp7.so
#LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so

LoadModule php7_module 前的#号删除

  • 1.6 最后 Esc 退出编辑,输入:wq保存并退出。
  • 1.7 切换工作目录:cd /etc
    拷贝php.ini文件:sudo cp php.ini.default php.ini
  • 1.8 重新启动apache服务器,在终端输入:sudo apachectl -k restart

然后在浏览器中输入127.0.0.1 或者本机IP地址回车即可查看服务器根目录(自定义根目录)

注:我们不止可以用ip地址访问我们的Apache服务器也可以自定义一个假域名啥的

操作 : 可以在httpd.conf 中添加ServerName 为自定义字段,同网络下可以用自己的自定义字段访问服务器 :
例如 : 在httpd.conf 中找到 #ServerName www.example.com:80 在这句话下边加一句 ServerName wodedizhi.local
重启后生效,可能需要先通过IP访问一次才可以,感觉不稳定

2 同局域网内其他电脑登录本机服务器设置
  • 2.1 需要开启本机的远程登录功能 系统偏好设置 -> 共享 ->远程登录如下图:

  • 2.2 远端登录直接在终端输入 ssh 用户名@Ip地址

    • 用户名可以输入root 也可以在服务器电脑直接查看(见上图 - 右侧中间部分)
3 免密码登录

方法一:

  • 3.1 切换目录至ssh,终端输入cd ~/.ssh
  • 3.2 输入命令 ssh-keygenssh-keygen -t rsa(若已有公私钥跳过)
    • 会有如下提示:
      Generating public/private rsa key pair.
      Enter file in which to save the key (/Users/user/.ssh/id_rsa):
      输入id_rsa 后回车即可,之后会有更多提示操作根据提示直接按enter回车按钮。
      最后会出现The key's randomart image
+--[ RSA 2048]----+
|        ..o   o=.|
|         + o o..o|
|        . = = + o|
|       .   * O . |
|        S .   O  |
|             . o |
|                .|
|               . |
|                E|
+-----------------+

之后再终端输入 ls查看文件命令,会发现文件夹下多出id_rsa id_rsa.pub两个文件。

id_rsa私钥,id_rsa.pub公钥,采用RSA加密形式。我们只要把 id_rsa.pub改为 anthorized_keys 并上传到服务器你的主目录下的.ssh下即可,

操作方法:( 终端输入命令如下)

    1. cp id_rsa.pub authorized_keys(回见id_rsa.pub赋值为authorized_keys)
    1. scp authorized_keys username@服务器ip地址:~/.ssh
      注:若是提示 .ssh文件夹不存在或.ssh:not a directory 自己创建一个就可以了

方法二
执行步骤3.1 、 3.2(若已有公钥私钥直接跳过)
执行命令 ssh-copy-id -i id_rsa.pub username@服务器ip地址

方法三

打开终端,然后点击左上角shell--->新建远程链接---->选择安全Shell(ssh)---->右边添加+号--->然后输入服务器的ip地址---->在下面输入用户名--->点击连接,然后在终端输入密码即可,这一部免去了输入服务器IP地址的问题。

有时候链接服务器会出现这个错误:

  • 解决办法:
    ① 先cat一下家目录的.ssh/know_hosts
    ② 删除对应ip地址的的相关rsa的信息即可.
补充

Mac OSX Terminal ssh 命令连接服务器之后,如果一段时间不操作,就会退出登录并出现如下错误提示:Write failed: Broken pipe,只能重新用 ssh 命令进行连接。

解决方法:

  • 方法一:$ ssh -o ServerAliveInterval=60 user@IP
  • 方法二:只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
    添加或者修改ClientAliveInterval为“ClientAliveInterval 60”。这个参数的是意思是每1分钟,服务器向客户端发一个消息,用于保持连接。保存后记得重启ssh服务。

报错解决 执行命令 sudo apachectl -k restart时遇到报错
AH00557: httpd: apr_sockaddr_info_get() failed for bogon
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
在httpd.conf 中找到ServerName www.example.com:80 下边加一行
ServerName 127.0.0.1:80,再次重启就可以了

相关文章

网友评论

      本文标题:Mac 本地Apache服务器设置

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