在本教程中,我將指導您創建運行 WordPress(或其他基于 LAMP 的應用程序)的預配置服務器實例,您可以重復克隆并傳輸到客戶端。我使用 Digital Ocean 的圖像功能來銷售我的 WordPress Quickstart 和一些基于 LAMP 的應用程序,例如 Simplify Email 和 Simple Monitor。部分由于此功能,Digital Ocean 已成為我今年選擇的網絡托管服務商。
對于 Digital Ocean,快照是特定基于云的服務器實例在某一時刻的副本。它允許您復制實例并通過電子郵件將它們傳輸給客戶。這使得人們可以快速輕松地開始使用預配置的服務器映像和應用程序堆棧。
例如,我提供了一個預配置、預優化的 WordPress 版本,我將其稱為“快速入門”。它是預裝了一組超級有用插件的 WordPress 版本,并且還使用 W3TC 和 Varnish 緩存進行了預先優化,如我的 Tuts 教程“使用 Varnish 和 W3 Total Cache 優化 WordPress”中所述。當我將此圖像的副本傳輸給客戶時,這是我可以提供的最快、最簡單、配置最佳的 WordPress 版本。這個過程使得啟動新的 WordPress 網站變得異常簡單。在本教程中,我將向您展示如何在 Digital Ocean 構建您自己的圖像以與客戶共享。
開始使用
如果您想使用 LAMP 應用程序嘗試此操作,您可以在此處找到我在 Digital Ocean 上注冊和設置通用實例的指南。如果您想使用 WordPress,可以按照以下步驟操作。我將引導您創建 Droplet、安裝 WordPress、添加主題和插件、拍攝快照、克隆快照以及將它們傳輸到客戶端。我在 Digital Ocean 發布了更詳細的 WordPress 安裝指南。
創建您的 Droplet
首先,讓我們創建一個水滴。單擊創建按鈕:
我將我的命名為 image.publishingwordpress.com 但你可以將你的命名為任何通用名稱。我將使用 512 MB 圖像大小:
記下您選擇的區域,因為您的客戶端只能在同一區域實例化您的圖像 – 但是,如果需要,您還可以在發送給客戶端之前傳輸快照的區域。
點擊應用程序選項卡并選擇ubuntu 14.xx上的LAMP:
Digital Ocean 將開始創建您的 Droplet:
完成后,您將看到此頁面:
您還會收到一封如下所示的電子郵件:
現在您可以訪問您的域名注冊商并修改您的 DNS 記錄,將您的域或子域指向新的 IP 地址。就我而言,我將 image.publishingwithwordpress.com 的 A 記錄指向 198.199.117.46。顯然,你的會有所不同。
您無需等待 DNS 傳播即可開始配置實例。通過 ssh 使用您的 IP 地址登錄。您需要更改電子郵件中收到的密碼:
讓我們更新圖片:
sudo apt-get update sudo apt-get dist-upgrade sudo reboot
我還建議安裝以下組件,我們將在 WordPress 和各種插件中利用這些組件:
sudo apt-get install zip php5-curl sudo a2enmod rewrite
打開 apache mod_rewrite 將允許在 WordPress 中使用永久鏈接地址,這更加用戶友好并增強搜索引擎優化。
我建議也運行 mysql_secure_installation :
mysql_secure_installation
要運行此腳本,您需要記下您的 MySQL root 密碼,該密碼會在您登錄實例時顯示。
如果您使用每月 5 美元的 512MB RAM Droplet,您需要為 WordPress 創建一個交換文件正確操作,否則系統會耗盡內存并反復崩潰:
dd if=/dev/zero of=/swapfile bs=1M count=1024 mkswap /swapfile swapon /swapfile
然后我們將添加到 fstab 文件以告知系統有關交換文件的信息:
sudo nano /etc/fstab
添加這一行:
/swapfile swap swap defaults 0 0
每月 10 美元的 1 GB 實例可以毫無問題地運行 WordPress。
現在,我們準備安裝 WordPress:
安裝 WordPress
創建一個具有 Apache Web 服務器權限的 www 目錄:
sudo mkdir /var/www sudo chown www-data:www-data /var/www cd /var/www
下載最新版本的 WordPress,展開存檔并設置權限:
cd /var/www sudo wget http://wordpress.org/latest.tar.gz sudo tar -xzvf latest.tar.gz sudo chown -R www-data:www-data wordpress
現在讓我們在 MySQL 中創建 WordPress 數據庫。記下您的用戶名和密碼:
mysql -u root -p create database wordpress; grant all privileges on wordpress.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; flush privileges; exit;
讓我們為 WordPress 創建 Apache 配置文件:
cd /etc/apache2/sites-available sudo nano 000-wordpress.conf
粘貼并自定義以下虛擬主機配置:
<virtualhost> ServerName yourdomainname.com DocumentRoot /var/www/wordpress DirectoryIndex index.php <directory></directory> AllowOverride All Order Deny,Allow Allow from all </virtualhost>
為 WordPress 啟用 Apache 站點并禁用默認 Ubuntu 站點:
sudo a2dissite 000-default.conf sudo a2ensite 000-wordpress.conf sudo service apache2 reload
訪問您的網站,使用上面的數據庫設置通過網絡用戶界面配置 WordPress。選擇頭銜和登錄名時,請選擇通用的,并記下登錄名。
使用您的通用憑據登錄,您應該會看到儀表板:
由于這是您將復制和傳輸的通用圖像,因此用戶將需要 WordPress 來更新網站 URL為了他們自己。讓我們編輯 WordPress 配置文件以包含重定位標志。您會希望您的客戶在儀表板常規設置中編輯其網站 URL 后禁用此功能。
sudo nano /var/www/wordpress/wp-config.php
現在,添加以下行:
define(‘RELOCATE’,true);
當用戶在儀表板中更新其站點 URL 時,WordPress 將更新整個數據庫。完成一次后,客戶端可以注釋掉或刪除此行。
我還建議添加 FS_DIRECT 標志以簡化插件安裝:
define('FS_METHOD', 'direct'); // for automatic plugin installation
安裝主題
出于演示目的,我將安裝新的簡單 Minnow 主題。您可以通過搜索來安裝:
如下所示:
接下來,我們將安裝我們希望客戶擁有的任何插件。
安裝插件
您想安裝哪些插件取決于您。我在這里保留了推薦插件的列表。讓我們繼續安裝 Yoast SEO 插件,它對我來說是一個支柱。我使用它是因為它有助于搜索引擎優化和生成站點地圖。
您可以訪問添加新插件頁面并搜索它來安裝并激活它:
此時,您可以進行任何您希望與下游所有客戶共享的常見 WordPress 配置。例如,您可能會安裝更多主題和插件。您可以打開永久鏈接。您可以配置一些基本的主題設置。這完全取決于你。
當您克隆即將發布的快照并將其傳輸到您的客戶端時,您自定義的任何內容都將被復制。您的客戶將需要自定義和配置您選擇不更新的任何內容。
拍攝快照
當您完成所有常見的安裝和配置后,我們可以繼續為您的 Droplet 拍攝快照。 Digital Ocean 要求我們關閉實例電源。最好從命令行控制臺執行此操作。
sudo poweroff
訪問 Digital Ocean 的 Droplet 頁面,然后單擊快照選項卡。我通常為快照選擇一個名稱,該名稱指示克隆的連續數量,例如wp-image-000。然后,點擊拍攝快照。
Digital Ocean 可能需要幾分鐘時間來創建您的快照。
圖像完成后,Digital Ocean 將自動重啟您的 Droplet。
復制圖像
要創建更多圖像副本,您只需重復上述步驟即可。從命令行關閉 Droplet 電源。再拍一張快照。這有點耗時,但相當簡單。
在下一個教程中,我將向您展示如何使用 Digital Ocean API 來自動執行此過程。
Digital Ocean 不收取快照存儲費用(少量除外)。您可以選擇是否銷毀原來的Droplet以避免月費。如果您這樣做,您隨時可以在再次需要時從快照重新創建它。
轉移給客戶
要將快照傳輸給客戶端,請訪問圖像頁面:
點擊最左邊的個人資料圖標,指定要轉移到的 Digital Ocean 帳戶持有人的電子郵件地址:
幾分鐘之內,快照將顯示在您客戶帳戶的“圖片”頁面上。他們需要批準該圖像才能將其接受到他們的帳戶中。
請記住,您的客戶只能接受來自受信任用戶的快照,這一點很重要,因為有人很容易在創建快照并傳輸快照之前在映像上安裝惡意軟件。 Digital Ocean未來可能會提供可信的快照系統。
從快照創建 Droplet
從快照創建 Droplet 非常簡單。只需訪問創建 Droplet 頁面,選擇創建圖像的區域,然后單擊我的快照選項卡。然后您可以選擇用于實例化液滴的圖像。
客戶端可以根據需要自定義主機名,但所有其他設置將保持不變。
換句話說,他們將使用與原始快照相同的管理用戶名和密碼登錄實例,而不是 Digital Ocean 向他們發送的新快照。他們最初還將使用您的客戶端管理員 WordPress 儀表板登錄名和密碼。他們最好在配置 Droplet 后更改所有服務器、MySQL 和 WP 儀表板密碼。
一旦他們從快照創建了 Droplet,他們就必須配置其 DNS,將其選擇的站點 URL 指向其 Droplet 的 IP 地址。而且,他們需要編輯其域名的 WordPress Apache 虛擬主機并重新啟動 Apache。
我發現這種 WordPress 快速入門是我幫助客戶開始使用新網站的最快方式。您還可以將此方法用于任何 LAMP 應用程序,例如簡化電子郵件。
你學到了什么
現在您知道如何構建基于云的應用程序實例(例如 WordPress),您可以重復克隆該實例并將其傳輸到客戶端。在即將發布的教程中,我將向您展示如何使用 Digital Ocean API 來自動執行克隆快照的過程。
我希望您發現本文有趣且有用。請隨時在下面發表您的問題和評論。您也可以通過 Twitter @reifman 聯系我或直接給我發電子郵件。請關注我的 Tuts+ 講師頁面,查看本系列的后續文章。
相關鏈接
- 數字海洋API
- WordPress 快速入門
- 推薦的 WordPress 插件
- WordPress 法典