瀏覽標籤:

Apache

[Apache] 限制目錄列表

很多人設定Apache都會碰到的問題之一,就是該怎麼限制別人瀏覽自己網站的目錄。如果沒限制,目錄內所有檔案的位置都會被看到,有更新但還未公開在首頁的檔案就會被看到。

  1. 找到路徑/etc/apache2/sites-available
  2. 找到自己網站的conf設定檔
  3. Directory節點的Options拿掉Indexes
    範例如下:

     

 

 

原文:Apache設定限制目錄瀏覽的方法

CentOS 7.X Wrodpress 上傳的檔案無法被移動至wp-content/uploads/

在移植完Wrodpress測試是否正常時,發生了媒體無法上傳的問題,錯誤訊息給出上傳的檔案無法被移動至wp-content/uploads/,就翻了之前寫的文章WordPress 資料權限修復,這邊有一點點不太一樣的就是在CentOS裡面Apache的使用者不是www-data而是apache,修正完資料夾權限後竟然還是無法正常上傳媒體,爬文爬了一整晚將近12小時,下了各種關鍵字都找不到原因,最後快要放棄時逛逛PTT Linux版時無意間看到了這篇,才發現原來除了預設的資料夾權限以外,還多了SELinux安全性的問題。

解決方法有兩種如下:

  1. 給予權限寫入資料 (推薦!!)
    • 給予httpd讀取的權限
    • 給予寫入的權限
  2. 完全關閉SELinux (不推薦)
    • 開啟路徑
    • 搜尋SELINUX修改為disabled
    • 重開機

查詢SELinux是否開啟(Enforcing為開啟,disabled為關閉)

參考:

  1. CentOS 7 + SELinux + PHP + Apache – cannot write/access file no matter what
  2. CentOS 關閉SELinux方式
  3. [問題] CentOS 7 apache資料夾權限

CentOS 7.X Lamp環境安裝 (Linux+Apache+MariaDB+PHP)

看到網路上的人都推說,Linux Server使用CentOS架設比較適合,從預設開啟防火牆就知道了,我就來試試看CentOS與目前本站使用的Ubuntu Server差在哪。

安裝CentOS與更新套件清單

  1. CentOS官方網站下載最新版CentOS-7-x86_64-DVD-1511.iso,安裝過程就省略了,本人是使用最小安裝,所以只有指令介面,反正要當Server使用,如果安裝GUI的話反而浪費資源對吧?
  2. Ubuntu與CentOS安裝套件的方式有點不太一樣,Ubuntu是使用apt-get這個指令來安裝,但CentOS是使用yum來安裝套件,這點需要注意一下。首先先更新一下列表吧,使用管理員權限的帳號輸入

    -y 是忽略詢問是否同意直接更新

安裝Apache網頁伺服器

  1. 安裝前記得先使用上面的指令更新套件清單唷,不然可能會有奇怪的問題。
  2. 輸入指令
  3. 安裝完畢後接著就要啟用服務拉,輸入指令

安裝MariaDB(MySQL)資料庫伺服器

  1. 在CentOS 7.X中MySQL是被替換成MariaDB的,所以就借此也來體驗看看MariaDB的資料庫囉。
    輸入指令

    這樣就安裝成功囉!
    01
  2. 來啟動服務吧

    01

設定MariaDB伺服器

  1. 安裝完畢後,就來設定一些資料庫的基本設定吧!
    輸入指令

    這裡因為是第一次安裝,所以直接按Enter繼續即可。
    01
  2. 是否要設定root的密碼,輸入y開始設定
    01
  3. 重複輸入兩次相同的密碼
    01
  4. 是否要刪除匿名帳號,輸入y同意刪除,不然日後會有很多安全性問題
    01
  5. 是否要開放root管理員透過外網登入,這邊請輸入y限制管理員只能從本地連線較為安全
    01
  6. 是否刪除test資料庫輸入y
    01
  7. 是否重新載入權限表輸入y
    01
  8. 設定完成!
    01

安裝PHP+phpMyAdmin管理資料庫

  1. 安裝php與連接資料庫套件

    01
  2. 安裝yum第三方EPEL套件庫

    清除快取

    更新套件庫
  3. 安裝phpMyAdmin

    01
  4. 重新啟動網頁伺服器

設定防火牆

  1. 永久允許網頁伺服器通過防火牆
  2. 若需要https服務則輸入

    查詢防火牆規則

    --permanent為永久規則
  3. 重新啟動防火牆

設定phpMyAdmin

  1. 預設除了本地是不允許訪問phpMyAdmin,但因為我們現在要設定所以需要修改一下預設值,使用WinSCP連線到主機上面打開
  2. 找到

    Require ip ::1下方新增自己的IP
  3. 重啟網頁伺服器
    service httpd restart
  4. 這樣就可以正常登入囉!
    01

 

開機自動啟動服務

每次開機都要手動啟用服務,這樣實在太麻煩了,輸入以下指令可以在每次開機後自動啟用服務

 

參考:

  1. [Centos7] 新的防火牆firewalld
  2. Installing LAMP (Linux, Apache, MariaDB, PHP/PhpMyAdmin) in RHEL/CentOS 7.0

利用 Apache 的 htaccess 進行轉址

  1. 設定 httpd.conf
  2. 新增文件.htaccess

[Linux] Ubuntu Apache新增網域/虛擬網站/虛擬主機

紀錄一下基本的設定檔,以便日後複製用。

  1. 建立設定檔
    在下面的路徑,建立一個檔案名稱叫做 blog.exfast.me.conf 的文字檔
  2. 內容如下(範例)
  3. 建立網站資料夾
  4. 啟用網站
  5. 重新啟動服務

如果要停用網站的話使用以下指令:

轉載:http://www.arthurtoday.com/2009/11/apache.html