iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 2
0
Modern Web

drupal入門筆記系列 第 2

Day2.Drupal開發環境

話說

今天要開始介紹Drupal開發環境,這部分可能會拆成兩篇來解釋,這篇我們首先主要搞定機器的問題。

系統需求

  • 網站伺服器(Web server)
    Apache, Nginx, Microsoft IIS等任何可以執行PHP的伺服器
  • 資料庫(DataBase)
    • MySQL 5.0.15/MariaDB 5.1.44/Percona Server 5.1.70或是更高且可以使用PDO執行的版本
    • PostgreSQL 8.3或是更高且可以使用PDO執行的版本
    • SQLite 3.3.7或是更高且可以使用PDO執行的版本
  • PHP
    • PHP 5.2.5以上的版本(推薦5.4以上)

方案推薦

這邊會推薦作業系統使用Linux來架設。理論上來說只要是符合以上系統需求的環境可以架設Drupal伺服器,所以只要你願意也可以把它架設在Windows上,不過習慣上我們通常還是會選擇免費的LAMP(Linux, Apache, MySQL, PHP)架構來架設。
過去想要使用Linux系統,把自己的電腦弄成雙系統會是一種選擇。不過現在,一般人大概直覺上會使用虛擬機器吧!
我個人另外推薦使用雲端機器,像是AWS有一年免費的EC2可以使用,而且他還會配給你固定IP,你只要帶著KEY或是做一些設定,不管在哪裡都可以用SSH連上你的機器。
然而如果你只是想在本機做開發或測試,那麼虛擬機會很好的選擇。

Vagrant

前面說了那麼多廢話,我們終於要進入正題了(!?)

Vagrant是一套能夠幫助你快速建構虛擬機的軟體,你甚至可以利用它控制多台虛擬機。用Vagrant我們省去許多以往在架設虛擬機上的功夫。
以下是在Windows10底下操作的步驟:

  1. 安裝
  • Vagrant:去官網下載適合的安裝檔來安裝。
  • VirtualBox :去官網下載適合的安裝檔來安裝。這邊要注意的是,一般Windows的筆電的BIOS設定,可能會把虛擬器的功能關掉,需要再去BIOS設定。
  1. 搜尋適合的BOX(類似映像檔)來安裝。我這邊選 ubuntu/trusty64。
  2. 建立虛擬機
  • 新建一個資料夾,作為設定檔的放置處

  • 開啟CMD並CD到剛新建的資料夾
    cd c:\你的\資料夾\路徑 (這邊有個小秘訣,可以先輸入CD跟空白鍵,然後用滑鼠拖曳該資料夾到CMD的視窗裡,這樣路徑就會自動寫出來)

  • 輸入vagrant初始化的指令vagrant init。該指令會在你的資料夾裡面建立一個名為Vagrantfile的檔案。

  • 開啟Vagrantfile進行設定。以下介紹一些比較基礎的設定,設些設定在系統已經幫你輸入了,只是註解掉。

    config.vm.box = "ubuntu/trusty64" 
    #這邊輸入你剛剛選擇的BOX名稱。
    config.vm.network "forwarded_port", guest: 80, host: 8080 
    #在你本機的8080 port會連到虛擬機的80 port。
    config.vm.synced_folder "html", "/var/www/html",owner:'www-data',group:'www-data'
    #這邊輸入你要同步的資料夾路徑,第一個是本機的資料夾,是以你的Vagrantfile為準的相對路徑,第二個參數是虛擬機的路徑建議可以設定成/var/www/html也就是我們將來要安裝Drupal的路徑,如此一來你就可以用你Win10上的編輯器開發,而它會馬上將修改同步到虛擬機上的資料夾。
    #後面兩個參數是把同步資料夾的權限給www-data。
    #其他的設定可以按照自己的需求挑整
    
  1. 執行啟動虛擬機的指令vagrant up。該指令會在你第一次使用的時候去下載你設定檔裡面寫的BOX並安裝,之後就會自動啟動該機器
  2. 啟動ssh的功能vagrant ssh。啟動之後就可以用ssh連線登入你的虛擬機啦!帳號跟密碼都vagrant

總而言之

之後我們就可以在這台虛擬機上做開發了,可喜可賀。
下一篇會正式介紹如何安裝LAMP+Drupal。有任何意見或發現錯誤都歡迎留言喔!


上一篇
Day1.Drupal開發入門介紹
下一篇
Day3.Drupal安裝
系列文
drupal入門筆記9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言