Ubuntu的分步安裝指南

第1步:安裝Ubuntu 16.04 LTS

爲什麼我們更喜歡Ubuntu服務器而不是Ubuntu桌面

  • 大多數IT專業人員更喜歡使用命令行界面(CLI)服務器,因爲它更安全且不易受******。

  • 業餘用戶可能會發現使用圖形(桌面)界面更容易。

  • 如果您只是將Moodle服務器用於本地實驗目的,則可能更喜歡安裝桌面(64位首選)版本的Ubuntu。

  • 如果您安裝僅CLI服務器並稍後後悔,則可以輕鬆添加圖形桌面:

    • 即使大多數專家都不推薦這樣做,您也可以通過發出命令'sudo tasksel'並選擇(使用空格鍵)安裝'Ubuntu桌面'安裝圖形用戶界面(桌面)

爲什麼我們更喜歡(或不喜歡)Ubuntu 18.04勝過Ubuntu 16.04勝過Ubuntu 14.04

  • 所有三個包都是LTS(長期服務)版本。

  • Ubuntu Server 18.04和16.04LTS與14.04LTS有一些差異,主要是PHP 7.0

  • Moodle 3.01以後可以使用PHP 7.0

  • 本文檔已更新,以反映這些更改。

  • 但請注意,如果您使用的是外部身份驗證或註冊插件,請注意,在Moodle 3.0.1發佈時(2015年12月),php7下既沒有MSSQL也沒有SQLSRV。因此,任何使用SQL * Server作爲主數據庫或遠程身份驗證/註冊插件的人都不應該轉移到PHP 7此外,根據您的配置,可能會丟失某些擴展(可以安裝 memcached ,redis,mongodb,xmlrpc ......)或正在進行分發,三重檢查您的操作系統的確切可用性。

程序


服務器版amd64首選

http://www.ubuntu.com/download

http://www.t7yu.com

  • Ubuntu Server 18.04LTS amd64具有所有必需的包。

  • Ubuntu Server 18.04LTS與14.04LTS有一些細微差別,主要是PHP 7.0。本文檔已更新,以反映這些更改。

  • Ubuntu有一個衆所周知的問題,它的自動更新填滿了/ boot目錄,直到自動更新開始失敗並且無法從/ boot自動刪除舊的內核文件。因此,您應該考慮使用大約5Gb的/ boot目錄安裝Ubuntu並進行一些自動清理。更多信息可以在這裏找到 - [1]

  • 你可以使用VI(輕量級編輯器)或VIM(重量級編輯器),但是,如果你想使用VIM,你需要安裝它

sudo apt-get install vim

  • VI或VIM命令

要編輯文件,請按“插入”鍵
要完成編輯,請按“Esc”鍵
要編寫文件,請按“:w” 
要退出編輯器,請按“:q” 
您還可以編寫並退出“:wq”

  • 在Ubuntu中,標準用戶(您在安裝期間創建的帳戶)無權安裝/寫入許多目錄。在下面的教程中,我們將在大多數命令之前使用術語“sudo”代表“超級用戶做”。

第2步:安裝Apache / MySQL / PHP

注意: Moodle 3.0.1 引入了對PHP 7.0的支持,我們將在本教程中使用PHP 7.0


打開終端並安裝以下內容;

添加php7 ppa:

sudo add-apt-repository ppa:ondrej / php


sudo apt-get update


sudo apt-get install apache2 mysql-client mysql-server php7.0 libapache2-mod-php7.0

它會提示你設置mysql的root密碼 - 拜託,親愛的朋友們,請寫下來,給自己一些悲傷,你需要在第6步。

注意: 即使大多數專家不推薦這樣做,您也可以通過發出命令'sudo tasksel'並選擇(使用空格鍵)安裝'Ubuntu桌面'安裝圖形用戶界面(桌面)


第3步:安裝附加軟件

sudo apt-get install graphviz aspell ghostscript clamav php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7 .0-zip php7.0-soap php7.0-mbstring

重新啓動Apache,以便正確加載模塊

sudo service apache2 restart

我們將使用Git來安裝/更新Moodle核心應用程序

sudo apt-get install git-core

第4步:下載Moodle(http://www.t7yu.com

設置本地存儲庫並下載Moodle,我們將使用/ opt進行此安裝。

  • Git就是所謂的“版本控制系統”。通過使用git,可以更輕鬆地更新moodle核心應用程序。在第5步中,我們將moodle核心應用程序代碼放在/ opt目錄中。

cd / opt

下載Moodle代碼和索引

sudo git clone git://git.moodle.org/moodle.git

將目錄更改爲下載的Moodle文件夾

cd moodle


檢索每個可用分支的列表

sudo git branch -a

告訴git要跟蹤或使用哪個分支

sudo git branch --track MOODLE_33_STABLE origin / MOODLE_33_STABLE

最後,查看指定的Moodle版本

sudo git checkout MOODLE_33_STABLE

第5步:將本地存儲庫複製到/ var / www / html /

sudo cp -R / opt / moodle / var / www / html /


sudo mkdir / var / moodledata


sudo chown -R www-data / var / moodledata


sudo chmod -R 777 / var / moodledata


sudo chmod -R 0755 / var / www / html / moodle


  • 說明:


由於我們在上一步中設置了本地存儲庫,因此您將在任何更新和更改後將其複製到您的webroot。將您的本地存儲庫放在webroot之外,就像我們在/ opt中一樣,您將能夠以更有效的方式準備和升級您的升級。例如,您想要進行一些更改或添加一些插件,您可以下載插件並將其複製到本地moodle存儲庫。添加插件以及可能進行的任何其他更改後,您需要編輯位於/opt/moodle/.git/info/exclude中的文件。在那個文件中你想告訴git當您運行下一個“sudo git pull”時,當它下拉更新時要排除的文件/文件夾。一個示例條目是位於/ opt / moodle / mod / certificate中的證書mod,因此在排除文件中您要在最後一條註釋下面添加“/ mod / certificate”。您可以爲每個可能已更改的插件或文件添加其他條目,每行1個。如果我要更改favicon.ico文件,您只需將“favicon.ico”添加到排除文件即可。現在,當您運行“sudo git pull”將moodle更新到最新版本時,它將忽略這些文件和目錄,只更新核心moodle代碼。在複製到您的webroot進行升級之前,您需要確保並下載並複製您可能已添加的最新版本的插件。

第6步:設置MySQL服務器

首先,我們需要將默認存儲引擎更改爲innodb並將默認文件格式更改爲Barracuda,這是與以前版本相比的新設置。您還需要設置innodb_file_per_table以使Barracuda正常工作。參考:https//dev.mysql.com/doc/refman/5.6/en/innodb-compression-usage.html http://www.t7yu.com

  • 你不應該讓innodb成爲默認的存儲引擎,最新版本的Moodle會在安裝過程中自動選擇它。無論如何,將它設爲默認始終是個好主意。但是,您需要設置默認文件格式!

  • 如果您選擇使用VIM,請將vi替換爲vim

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

向下滾動到[mysqld]部分,在“基本設置”下,在最後一個語句下添加以下行。如果你想添加,你必須按鍵盤上的“插入”按鈕。這通常在“刪除”按鈕之上。這允許您添加一些文本。

default_storage_engine = innodb


innodb_file_per_table = 1


innodb_file_format =梭子魚

爲了使用編輯器保存my.cnf,按Esc(Escape)鍵,依次輸入以下內容:w然後關閉編輯器:q

:W


:q

重新啓動MySQL Server以使更改生效

sudo服務mysql重啓

現在我們需要使用正確的權限創建Moodle數據庫和Moodle MySQL用戶

使用您在步驟1中創建的密碼

mysql -u root -p


MySQL的>

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

如果它顯示“moodledude”和“passwordformoodledude”,您應該更改爲您選擇的用戶名和密碼。

MySQL的>

創建用戶'moodledude'@'localhost'識別'passwordformoodledude';


MySQL的>

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER on moodle。* to moodledude @ localhost IDENTIFIED BY'passwordformoodledude';


MySQL的>

放棄;

注 - 如果您關心使用MySQL 5.6+並且當您發出create user並獲得有關密碼哈希的錯誤時,您需要調整密碼以使用哈希值

您可以通過以下方式獲得此信息

MySQL的>

SELECT password('passwordformoodledude');


這將打印密碼的哈希值,如* AD51BAFB2GD003D3480BCED0DH81AB0BG1712535,您將要在IDENTIFIED BY'部分中使用它

第7步:完成安裝

  • 注 - 如果您不方便使用終端創建需要在完成安裝程序時創建的config.php文件,則應通過執行以下操作暫時使webroot可寫:

sudo chmod -R 777 / var / www / html / moodle

運行安裝程序並進行moodle設置後,您需要恢復權限,以便使用以下命令不再可寫。

sudo chmod -R 0755 / var / www / html / moodle

打開瀏覽器並轉到http://IP.ADDRESS.OF.SERVER/moodle

按照提示操作:

改變moodledata的路徑

在/ var / moodledata

數據庫類型

選擇:mysqli

數據庫設置

主機服務器:localhost

數據庫:moodle

用戶:moodledude(您在設置數據庫時創建的用戶)

密碼:passwordformoodledude(您創建的用戶的密碼)

表前綴:mdl_

環境檢查

這將指示是否尚未安裝運行moodle所需的任何元素。

接下來的下一個......

按照提示並確認安裝

創建站點管理員帳戶

創建具有站點管理員權限的moodle用戶帳戶。

您選擇的密碼必須符合某些安全要求。

安裝完成

恭喜!你現在可以開始使用Moodle了!

別忘了

如果您使webroot可寫,請還原權限

sudo chmod -R 0755 / var / www / html / moodle

安裝後的系統路徑

安裝Moodle後你應該設置系統路徑,這將提供更好的性能VS不設置它們。Moodle中的每個條目都有它的解釋。

在moodle網頁上導航到“站點管理”>“服務器”>“系統路徑”

輸入以下內容;

杜的路徑:/ usr / bin / du

Apsell的路徑:/ usr / bin / aspell

點的路徑:/ usr / bin / dot

保存更改


  • 如果您還沒有AntiVirus解決方案,則可選

我們還在步驟3中安裝了ClamAV,因此我們需要在Moodle中設置路徑

1創建隔離目錄

sudo mkdir / var / quarantine

改變所有權

sudo chown -R www-data / var / quarantine

導航到“站點管理”>“插件”>“防病毒插件”>“管理防病毒插件”

啓用ClamAV防病毒軟件

單擊“設置”

設置正確的設置

保存更改

在之前的Moodle分支中:選中“在上傳的文件上使用ClamAV”ClamAV路徑:/ usr / bin / clamscan隔離目錄:/ var / quarantine

保存更改

建議:啓用Zend OpCache / Change Document Root

  • 由於我們已經安裝了Ubuntu Server 14.04LTS,我們可以使用內置的PHP OPcache,https://docs.moodle.org/26/en/OPcache

在上面的鏈接中,https://docs.moodle.org/26/en/OPcache將建議的設置添加到您的05-opcache.ini文件中。再次,用vim替換vi並記住使用引言中的正確密鑰序列。

sudo vi /etc/php5/apache2/conf.d/05-opcache.ini

注意:在Ubuntu 16.04中,opcache.ini位於:

/etc/php/7.0/mods-available/opcache.ini

重新啓動Apache以使更改生效。

sudo service apache2 restart

這就是Zend OpCache!

您還可以安裝GUI以查看Zend OpCache的狀態,不建議在生產服務器上使用。

cd / var / www / html / moodle /

將PHP腳本下載到Moodle目錄,您還應該將此文件添加到/opt/moodle/.git/info/exclude文件中,以便在升級安裝時不會刪除它。

sudo wget https://github.com/rlerdorf/opcache-status/blob/master/opcache.php

訪問http://ip.address.of.server/moodle/opcache.php

訪問http://www.t7yu.com

如果您不希望最終用戶鍵入http:// yourserver / moodle並且只是希望它們導航到http:// youserver,則需要編輯Apache的站點配置,這將告訴Apache使用/ var / www / html / moodle作爲根目錄而不是/ var / www / html

打開Apache站點配置並更改文檔根目錄

sudo vi /etc/apache2/sites-available/000-default.conf

在DocumentRoot所在的行;


更改自:DocumentRoot / var / www / html 

更改爲:DocumentRoot / var / www / html / moodle

:W

 

:q

重新啓動Apache以使更改生效。

sudo service apache2 restart

重要的提示!

如果您已經安裝了Moodle,那麼您應該進行以下更改。

編輯moodle的config.php

在安裝說明中,“webroot”的建議設置之一是“localhost”。如果你想要做的就是對你的新Moodle安裝進行一些本地測試,這很好。但是,如果要從同一局域網中的其他計算機查看新安裝,或者在Internet上查看您的站點,則必須更改此設置:

對於本地測試,'localhost'適用於webroot($ CFG-> wwwroot in config.php)。如果要從同一局域網(LAN)上的其他計算機測試您的站點,則必須使用服務計算機的私有IP地址(例如192.168.1.2/moodle)或服務的網絡名稱計算機(例如network_name_of_serving_machine / moodle)作爲Web根目錄。根據您的LAN設置,最好使用計算機的網絡名稱而不是其(私有)IP地址,因爲IP地址可以並且將不時更改。如果您不想使用網絡名稱,則必須與網絡管理員聯繫並讓他們爲服務機器分配永久IP地址。最後,如果您想通過互聯網測試新安裝,您必須使用域名或永久(公共)IP地址/ moodle作爲您的Web根目錄。要處理這兩種類型的訪問,請參閱僞裝。


編輯Moodle的config.php

cd / var / www / html / moodle sudo vim config.php

點擊鍵盤上的“插入”按鈕,然後進行需要進行的更改。然後按“escape”並鍵入以下內容以退出並保存更改(不包括引號):“:wq”

在$ CFG- > wwwroot下更改爲http://ip.address.of.server而不是http://ip.address.of.server/moodle


在一個Ubuntu服務器中託管幾個Moodle分支

  • 這對語言包維護者來說非常有用,可以在幾個Moodle分支中測試翻譯。

  • 對於開發人員來說,在不同的Moodle分支中測試他們的插件也非常有用。

  • 只需爲Web文件夾中的每個實例創建一個文件夾,這就足夠了。

  • 要訪問這些站點,您只需將該文件夾添加到localhost URL:http:// localhost / moodle31

  • 您可以爲1.9到3.1之間的每個版本創建一個實例

  • 您確實需要爲每個實例和單獨的數據庫創建單獨的數據文件夾(您可以使用phpmyadmin設置數據庫,但這不是必需的),將每個實例添加到其自己的文件夾中,並繼續執行上述操作。您還可以在其單獨的文件夾中託管其他服務(例如,Mahara)。

例1

  • 因此,一臺Linux筆記本電腦上的一個示例文件夾樹(實際服務器會更多)可能看起來像:

VAR

- 萬維網

   ---- maharadata
   ---- moodlecleandata
   ---- moodlestabledata
   ---- moodlemasterdata
   ---- moodletestingdata
   ---- uswmoodledata
   ---- HTML
       ------馬哈拉
       ------ moodleclean
       ------ moodlestable
       ------ moodlemaster
       ------ moodletesting
       ------ uswmoodle

例2

  • 在單個(CentOS X)服務器上有幾個沙盒Moodles所有不同的版本..只有那些支持安全修復及以上的 - 2.7,2.8,2.9,3.0,現在是3.1。幾乎是'股票'的Moodles,只有偶爾的插件等,用於測試。

  • 它們都有各自的代碼和數據目錄以及它們各自的DB。

  • 提示:使用git安裝和維護它們...即使你不喜歡/喜歡命令行,這是迄今爲止更新和/或升級站點的最有效方法。

/var/www/html/moodle27/version.php:$release ='2.7.14(Build:20160509)'/var/www/html/moodle28/version.php:$release = '2.8.12(Build:20160509)'/var/www/html/moodle29/version.php:$release ='2.9.6+(Build:20160520)'/var/www/html/moodle30/version.php:$release ='3.0.4+(Build:20160603)'/var/www/html/moodle31/version.php:$release ='3.1+(Build:20160603)'

  • git -b命令將站點鎖定到隨git命令的其餘部分提供的版本中...例如,安裝3.1,這是一個長期支持版本,安裝了git -b選項。不要計劃升級或測試升級。

git clone -b MOODLE_31_STABLE git://git.moodle.org/moodle.git moodle31

  • 我在該服務器上的所有其他moodles都是通過git安裝的

git clone git://git.moodle.org/moodle.git [nameofdir]

  • 然後從nameofdir

git branch --track MOODLE_2#_STABLE origin / MOODLE_2#_STABLEgit checkout MOODLE_2#_STABLE

  • 2#是版本號。

  • 這樣就可以讓那個moodle向上遊......更高的分支。因此,可以測試升級(而不是'更新')。

  • 第二種方法'gits'更多的代碼和備份將在5+ Meg範圍內,因爲所有舊版本的git東西3.1更少(限於3.1分支):

  • 545M ./moodle296-code-20160604145012.tar

  • 193M ./moodle31+-code-2016060883737.tar


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章