Bitnami本機安裝程序包含運行Bitnami打包應用程序所需的一切。下載後,您能夠啓動它,它將提供一步一步的嚮導。堆棧中包含的全部軟件的安裝和配置都是徹底自動化的,這使得每一個人(包括技術不太熟練的人)均可以輕鬆地啓動和運行。php
全部Bitnami本機安裝程序都是徹底獨立的,而且獨立於系統上安裝的其餘軟件或庫運行。這意味着您沒必要擔憂在系統上安裝任何其餘軟件以使新應用程序正常工做。它們也不會干擾您系統上已安裝的任何軟件,所以您運行的全部軟件都將繼續正常運行。html
Bitnami安裝有兩種格式:獨立堆棧和模塊。python
若是您只想安裝一個Bitnami打包的應用程序,那麼只需下載並安裝堆棧便可。它將包含運行應用程序所需的一切。mysql
若是要運行多個應用程序,可能須要下載LAMP,MAMP或WAMP堆棧,這樣您就能夠在其上安裝多個應用程序模塊。這樣,您想要運行的全部Bitnami打包的應用程序將共享一個Apache,MySQL和PHP的實例,這將節省空間並提升性能。linux
要下載Bitnami堆棧或模塊,請訪問Bitnami下載頁面,選擇要安裝的應用程序,而後單擊操做系統圖標(Windows,Linux或Mac OS X)的下載連接。sql
要使用本機安裝程序安裝Bitnami堆棧,您須要:數據庫
Bitnami堆棧的本機安裝程序以二進制可執行文件的形式分發。它們能夠從Bitnami網站下載。apache
下載的文件將命名爲bitnami-APPNAME-VERSION-linux-installer.run。緩存
要開始安裝過程,請爲安裝程序提供可執行權限,而後執行安裝文件,以下所示:tomcat
chmod 755 bitnami-APPNAME-VERSION-linux.run ./bitnami-APPNAME-VERSION-linux.run
注意:相同的二進制文件適用於任何Linux發行版。 |
若是以常規用戶身份運行安裝程序,則默認安裝路徑將是主目錄的子目錄;若是以root用戶身份運行安裝程序,則默認安裝路徑將是/ opt / APPNAME-VERSION。
端口是操做系統中通訊的端點,用於標識特定進程或服務類型。Bitnami堆棧包括須要端口的多個服務或服務器。
主服務器的默認端口以下:
阿帕奇 | 80或8080 |
MySQL或MariaDB | 3306 |
PostgreSQL的 | 5432 |
Tomcat的 | 8080 |
將堆棧做爲非特權用戶(即除root用戶或系統管理員之外的用戶)安裝時,默認Apache端口爲8080。
若是這些端口已被其餘應用程序使用,則安裝程序將提示在安裝過程當中使用備用端口。
注:要以非特權用戶身份運行應用程序,請選擇1024以上的端口號。 |
有多種安裝模式:
對於全部模式,能夠經過將--help命令行開關傳遞給安裝程序來獲取可用的安裝程序選項。
安裝過程將在installdir目錄下建立幾個子目錄:
應用程序文件存儲在installdir / apps / APPNAME / htdocs目錄中。Apache Web服務器的配置文件存儲在installdir / apps / APPNAME / conf /目錄中。
做爲安裝過程的一部分,將在安裝目錄中建立卸載程序可執行文件或腳本。能夠在圖形,文本和無人值守模式下執行卸載。
要在命令行模式下開始卸載過程,請執行卸載腳本,以下所示:
installdir/uninstall
Bitnami本機安裝程序包括一個用於管理服務的圖形工具。此工具在Linux上名爲 manager-linux-x64.run,位於安裝目錄中。要使用此工具,請雙擊該文件,而後使用圖形界面啓動,中止或從新啓動服務。能夠在「服務器事件」選項卡中檢查服務器日誌消息。
本機安裝程序還包括一個命令行腳本,用於啓動,中止和從新啓動應用程序,名爲ctlscript.sh。能夠在安裝目錄中找到此腳本,並接受選項start,stop,restart和status。要使用它,請按照如下示例登陸服務器控制檯並執行它:
無需任何服務名稱便可調用它來啓動全部服務:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo installdir/ctlscript.sh start
僅經過將服務名稱做爲參數傳遞來使用它來從新啓動特定服務 - 例如,mysql,postgresql或apache:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo installdir/ctlscript.sh restart mysql sudo installdir/ctlscript.sh restart postgresql sudo installdir/ctlscript.sh restart apache
獲取全部服務的當前狀態:
installdir/ctlscript.sh status
可用服務列表因每一個應用程序所需的組件而異。
Bitnami堆棧是自包含的,執行備份的最簡單選項是複製或壓縮Bitnami堆棧安裝目錄。要以安全的方式執行此操做,您須要中止全部服務器,所以若是您有人連續訪問應用程序,則此方法可能不合適。
按着這些次序:
切換到要保存備份的目錄。
cd /your/directory
中止全部服務器。
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo installdir/ctlscript.sh stop
使用堆棧內容建立壓縮文件。
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo tar -pczvf application-backup.tar.gz installdir
啓動全部服務器。
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo installdir/ctlscript.sh start
將application-backup.tar.gz文件下載或傳輸到安全位置。
Bitnami堆棧是自包含的,所以要恢復堆棧,您只須要在同一位置解壓縮備份文件。使用最初安裝堆棧時使用的相同路徑很是重要。
強烈建議在開始升級過程以前建立備份。若是您有重要數據,請建立並嘗試還原備份以確保一切正常。
升級Bitnami堆棧有兩種不一樣的方法。
您只能在不修改任何其餘堆棧組件的狀況下升級應用程序。要執行此操做,請參閱應用程序頁面。
您能夠升級應用程序和全部堆棧組件,例如PHP,Ruby,MySQL和Apache。請按照如下說明操做:
下載堆棧的最新本機安裝程序。
使用圖形管理器中止現有堆棧服務。
根據Bitnami堆棧是使用MySQL仍是PostgreSQL,如MySQL組件頁面或PostgreSQL組件頁面所述備份現有數據庫。
將新堆棧安裝到其餘安裝目錄。
按照Bitnami控制檯頁面中的說明運行Bitnami控制檯腳本。
如MySQL組件頁面或PostgreSQL組件頁面所述,從備份還原數據庫
複製任何上載的文件或配置文件。可能還須要運行遷移腳原本更新數據庫模式; 可是,這根據應用而有所不一樣。有關特定於應用程序的升級步驟的詳細信息,請參閱應用程序頁面。
使用圖形管理器從新啓動服務器。
您如今應該可以訪問新堆棧了。
編輯位於installdir / apache2 / htdocs / index.html的文件。
在許多狀況下,必須打開其餘端口以使您的應用程序正常運行。
若是您使用的是iptables,請使用如下命令打開端口21:
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
若是您使用的是ufw,請使用如下命令來得到相同的結果:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo ufw allow 21
在某些狀況下,必須關閉應用程序的端口以提升安全性。
若是您使用的是iptables,請使用如下命令關閉端口21:
iptables -A INPUT -p tcp --dport 21 -j DROP
若是您使用的是ufw,請使用如下命令來得到相同的結果:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo ufw deny 21
注意:您將須要root賬戶權限才能執行如下步驟。 |
要使Bitnami堆棧服務器在引導時自動啓動,請將ctlscript.sh腳本安裝爲服務。按照如下步驟操做,在隨後的實際應用程序名稱的全部命令中替換APPNAME佔位符。
若是堆棧是以root用戶身份安裝的,請將installdir / ctlscript.sh腳本複製到/etc/init.d目錄。建議將此腳本重命名爲更具體的內容,例如bitname-APPNAME。使用如下命令:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo cp installdir/ctlscript.sh /etc/init.d/bitnami-APPNAME
若是堆棧是做爲其餘用戶安裝的,請在/etc/init.d/bitnami-APPNAME下建立下面的腳本,將USERNAME替換爲安裝堆棧的用戶賬戶的名稱:
#!/bin/bash su USERNAME -c "installdir/ctlscript.sh $@"
而後,使腳本可執行:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo chmod +x /etc/init.d/bitnami-APPNAME
在/etc/init.d/bitnami-APPNAME腳本的開頭添加或修改如下行。請記住更新「 提供」行以反映腳本的實際名稱。
### BEGIN INIT INFO # Provides: bitnami-APPNAME # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable services provided by daemon. ### END INIT INFO
按照如下示例將腳本添加到默認運行級別並啓用它:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo update-rc.d -f bitnami-APPNAME defaults sudo update-rc.d -f bitnami-APPNAME enable
從新啓動系統,服務器應自動啓動。
要還原更改,請使用如下命令:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
cd /etc/init.d sudo update-rc.d -f bitnami-APPNAME remove
若是堆棧是以root用戶身份安裝的,請將installdir / ctlscript.sh腳本複製到/etc/init.d目錄。建議將此腳本重命名爲更具體的內容,例如bitname-APPNAME。使用如下命令:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo cp installdir/ctlscript.sh /etc/init.d/bitnami-APPNAME
若是堆棧是做爲其餘用戶安裝的,請在/etc/init.d/bitnami-APPNAME下建立下面的腳本,將USERNAME替換爲安裝堆棧的用戶賬戶的名稱:
#!/bin/bash su USERNAME -c "installdir/ctlscript.sh $@"
在/etc/init.d/bitnami-APPNAME腳本的開頭添加或修改如下行。
#!/bin/sh # # chkconfig: 2345 80 30 # description: Bitnami services
這將在運行級別2,3,4和5中執行腳本,優先級80開始,30中止。
將腳本安裝爲服務。
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo chkconfig --add bitnami-APPNAME
從新啓動系統,服務器應自動啓動。
要還原更改,請使用如下命令:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo chkconfig --del bitnami-APPNAME
用於Web應用程序的Bitnami堆棧安裝Apache,MySQL,PostgreSQL等服務器。其中一些須要超過1 GB的內存。若是總內存少於1 GB,請建立交換文件以增長可用系統內存。
Linux交換文件容許系統利用比最初物理可用(RAM)更多的內存。交換空間是硬盤驅動器上的區域,用於保存不活動的內存頁面,從而釋放物理內存以供其餘用途使用。
建議在系統中使用交換空間。使用free命令檢查當前的交換空間:
free -m total used free shared buffers cached Mem: 491 144 346 0 2 25 -/+ buffers/cache: 117 374 Swap: 975 81 894
從輸出,系統有419 MB的RAM和975 MB的交換空間。
建議交換空間應等於或大於物理內存(RAM)的數量。若是RAM少於1 GB,則至少建立1 GB的交換空間。按着這些次序:
肯定交換文件的分區並建立它。若是你有一個短暫的分區,這是理想的:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo dd if=/dev/zero of=/mnt/swap.0 bs=1024 count=1048576 sudo mkswap /mnt/swap.0
切換到使用root賬戶並激活交換區域:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo su echo "/mnt/swap.0 swap swap defaults 0 0" >> /etc/fstab swapon /mnt/swap.0
使用free命令或如下命令檢查交換空間是否已正確啓用:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo swapon -s
GNU C庫是GNU系統中使用的C庫,也是Linux內核的大多數其餘系統。大多數Bitnami堆棧至少須要glibc v2.5才能工做。若是系統中的glibc版本低於所需的最低版本,請更新它或安裝更新的操做系統。
您可使用如下命令獲取系統中的glibc版本:
ldd --version
如下是發佈時最受歡迎的發行版中包含的glibc版本:
標準C ++庫是GNU系統中使用的C ++庫,也是大多數使用Linux內核的系統。某些軟件須要編譯該庫的最小版本。這樣,爲了執行,系統須要具備該庫的相同版本或更高版本。
大多數Bitnami堆棧至少須要glibcxx 3.4.9才能工做。若是系統中安裝的libstdc ++中的glibcxx兼容版本低於所需的最小版本,則須要更新libstdc ++軟件包或安裝更新的操做系統。可使用如下命令獲取系統中glibcxx的兼容版本:
/sbin/ldconfig -p | grep libstdc | awk '{print $4}' | xargs grep -aoE 'GLIBCXX_([0-9]+)\.([0-9]+)\.([0-9]+)'
在這個例子中,咱們能夠看到全部glibcxx版本都與系統中安裝的libstdc ++兼容。
咱們用於檢查glibcxx版本的工具在某些環境中可能會失敗。若是發生這種狀況,您仍然能夠繼續安裝。
執行如下命令並確保輸出大於或等於3.4.9:
/sbin/ldconfig -p | grep libstdc | awk '{print $4}' | xargs grep -aoE 'GLIBCXX_([0-9]+)\.([0-9]+)\.([0-9]+)' | tail -n 1 | grep -oE '([0-9]+)\.([0-9]+)\.([0-9]+)'
使用選項--disable_glibcxx_version_check 1啓動安裝程序以跳過驗證。
MySQL的安裝須要Perl,並與一些Perl模塊結合使用。
您可使用如下命令檢查系統是否包含Perl:
which perl
您還必須確保Data :: Dumper Perl模塊存在,可使用如下命令完成:
perl -MData::Dumper -e 'print "Data::Dumper is installed\n"'
若是不存在Perl或Data :: Dumper,請運行如下命令來安裝缺乏的組件:
於Debian / Ubuntu:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo apt-get install perl
CentOS的/ Fedora的/ RHEL:
注意:若是以root身份安裝堆棧,則僅使用sudo。在運行如下命令以前,請記住加載Bitnami堆棧環境(說明)。
sudo yum install perl perl-Data-Dumper
某些基於Java的應用程序須要可以將計算機主機名解析爲IP地址才能運行。若是沒法執行此操做,應用程序可能會報告如下錯誤:
The installer was not able to resolve the machine hostname. Java-based applications require to solve the hostname.
要解決此問題,請添加將計算機主機名映射到IP地址127.0.0.1的條目。編輯 / etc / hosts文件並在其下面添加如下行,將HOSTNAME佔位符替換爲計算機的實際主機名。
127.0.0.1 HOSTNAME
能夠將Bitnami應用程序配置爲使用第三方SMTP服務來發送電子郵件。此類第三方SMTP服務的示例是SendGrid和Mandrill。下面提供了使用這二者的說明。
可使用您的SendGrid賬戶憑據訪問SendGrid的SMTP服務。能夠經過登陸SendGrid網站並訪問「賬戶詳細信息」頁面來獲取這些憑據。
要配置應用程序以經過SendGrid的SMTP服務發送電子郵件,請使用如下設置。使用您的SendGrid賬戶密碼將USERNAME替換爲您的SendGrid賬戶用戶名和PASSWORD。
如下是配置WordPress以使用SendGrid的示例:
SendGrid文檔中提供了更多信息。
Mandrill的SMTP服務須要API密鑰才能訪問。要獲取此密鑰,請登陸Mandrill網站,導航到「SMTP和API」部分並建立API密鑰。請注意SMTP服務器名稱,用戶名和API密鑰,由於它們用做訪問Mandrill SMTP服務器的憑據。
要將應用程序配置爲經過Mandrill的SMTP服務發送電子郵件,請使用如下設置。使用生成的API密鑰將USERNAME替換爲您的SMTP用戶名和API-KEY。
如下是配置WordPress以使用Mandrill的示例:
Mandrill文檔中提供了更多信息。
其餘第三方SMTP服務也能夠遵循相似的步驟。請參閱服務提供商的文檔以獲取有關身份驗證憑據和可用端口的詳細信息。
請考慮如下提示以提升服務器的性能。
若是還沒有啓用,則啓用Apache PageSpeed模塊或Varnish Web應用程序加速器。
考慮安裝APCu,XCache,memcached或eAccelerator模塊來緩存和優化PHP應用程序。
使用mysqltuner腳本檢查和優化MySQL或MariaDB數據庫服務器配置。
若是您遇到影響服務器的bot攻擊,請使用Apache配置文件按指定的IP地址過濾和拒絕請求。