Mac下用apache搭建一個局域網服務器


一:由於MacOX系統下自帶Apache環境,所以我們在Mac系統下用Apache配置。

  Mac系統:10.14.4

 

二:啟動Apache

啟動 在終端輸入:sudo apachectl start
驗證 在瀏覽器輸入“http://localhost” 顯示It works!說明服務器已經啟動成功了

在Mac下Apache默認的根目錄在“/Library/WebServer/Documents/”下,你也可以自己設置自己的文件夾,只需要在Apache的配置中修改就可以了。

 

三:配置服務器

1、在finder中新建一個文件夾

 

 

2、打開終端,切換工作目錄下:cd /etc/apache2

3、備份文件,只需要執行一次:sudo cp httpd.conf httpd.conf.bak (這一步只是為了備份一下)

   如果操作出現錯誤!可以使用命令,恢復備份的 httpd.conf 文件:sudo cp httpd.conf.bak httpd.conf

4、用vim編輯httpd.conf文件,httpd.conf文件時Apache的配置文件:sudo vim httpd.conf

   會要求你輸入密碼,而后會出現如下界面:
 
 
5、接下來是修改httpd.conf文件  —— 這個文件就是Apache的配置文件。
   按住shift鍵,並且輸入“ :”號進入vim命令模式(一定要在英文輸入法狀態下),搜索/DocumentRoot,
     找到圖中對應位置將圈內路徑改為之前創建的NetTest文件夾的路徑。(備注:英文狀態下 按 i 鍵進入輸入模式修改路徑)
 

6、之后找到Options FollowSymLinks:修改為Options Indexes FollowSymLinks,在兩個單詞間添加一個Indexes單詞。

7、接下來查找php,:/php,定位到圖中位置:

 

 

8、將這句代碼前面的#去掉。最后 Esc退出, :wq保存並退出。

9、切換工作目錄:cd /etc

10、拷貝php.ini文件:sudo cp php.ini.default php.ini

重新啟動apache服務器

在終端輸入:sudo apachectl -k restart

到這里就算是配置完了,這個時候如果在瀏覽器地址輸入“http://127.0.0.1/”,看是否成功
 
可能報錯:
 
(1) : Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message。
原因:ServerName未配置。
解決:打開配置文件 sudo vim /etc/apache2/apache2.conf        
   找到配置文件中這個地方: 改為localhost: 80
 
 
(2):訪問頁面出現 Forbidden
You don't have permission to access / on this server.
原因:這是由於配置中沒有打開訪問配置,把下圖中兩處改為All和granted
https://www.80note.com/2019/01/451.html 此處有詳細說明
 
 
這樣就可以將Test文件夾中的目錄列出來了。同一工作組里的電腦可以通過本電腦的ip地址來訪問本電腦上的文件。
 
 
四:penSSL證書生成及Mac上Apache服務器配置HTTPS
 
先在桌面創建個SSL文件夾,用來放生成的私鑰證書文件
打開終端cd到SSL文件夾    cd desktop/SSL

1. 自簽名證書

(1) 在SSL文件夾中生成私鑰 生成rsa私鑰,2048位強度,server.key是秘鑰文件名
   openssl genrsa -out server.key 2048 
(2) 生成自簽名證書
 openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt 
 
按順序輸入信息

Common Name應該與域名保持一致(如我的電腦搭建的服務器IP地址為192.168.1.112) 

2. 配置Apache服務器SSL

(1) 放入證書
 

將server.crt和server.key兩個文件拷貝

放到/etc/apache2/目錄         (Finder中點擊前往文件夾/etc即可打開etc文件夾)

(2) 修改配置文件

若是配置文件無法修改   只需要把途中位置改掉就好

 

  • 編輯/etc/apache2/httpd.conf文件
    找到去掉下面前邊的注釋#號

    LoadModule ssl_module libexec/apache2/mod_ssl.so
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    Include /private/etc/apache2/extra/httpd-ssl.conf
    LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

  • 打開/etc/apache2/extra/httpd-ssl.conf文件
    去掉以下兩項注釋並檢查是否與之前安裝私鑰和證書的路徑一致

    SSLCertificateFile "/private/etc/apache2/server.crt"
    SSLCertificateKeyFile "/private/etc/apache2/server.key"

  •   
  • 編輯/etc/apache2/extra/httpd-vhosts.conf文件
    在<VirtualHost *:80> .....</VirtualHost>后面添加一段如下內容:
<VirtualHost *:443> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /private/etc/apache2/server.crt SSLCertificateKeyFile /private/etc/apache2/server.key ServerName 192.168.1.112 DocumentRoot "/Library/WebServer/Documents" </VirtualHost> 

注意ServerName填寫域名與所需訪問一致

(3) 重啟服務器
sudo apachectl restart

訪問https://192.168.1.112/
提示不安全什么的(因為自己的證書沒添加到瀏覽器信任列表),繼續訪問

 

 HTTPS訪問成功
至此一個Mac上的apache服務器就搭好了,局域網內的小伙伴可以通過你的本級IP訪問到你所設置的文件夾了
引用:https://www.jianshu.com/p/b2a9655fe687
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM