apache安裝腳本
❶ linux下編寫自動安裝mysql apache php腳本
1.1 編譯安裝
# groupadd mysql
# useradd -g mysql -d /usr/local/lib/mysql -s /sbin/nologin mysql
# tar zxvf mysql-x.x.x
# cd mysql-x.x.x
# ./configure --prefix=/usr/local/lib/mysql --localstatedir=/usr/local/lib/mysql/data --with-charset=utf8 --with-extra-charsets=all
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/lib/mysql
# mkdir data
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# echo "/usr/local/lib/mysql/bin/mysqld_safe &" >> /etc/rc.local
# /usr/local/lib/mysql/bin/mysqld_safe --user=mysql &
1.2 進入mysql的DBMS
# /usr/local/lib/mysql/bin/mysql -u root -p
enter password: <Enter>
*註:默認mysql的root用戶口令為空
1.3 mysql數據在頁面顯示為中文亂碼的問題
--with-extra-charsets=all是解決中文亂碼的關鍵參數,它的作用是安裝額外的字元集,其中即包括gbk等中文字元集。在創建資料庫時手工指定字元集為gbk,這樣就可以保證同樣使用gbk字元集的HTML頁面正常地顯示中文了:
create database <db_name> default character set gbk collate gbk_chinese_ci;
2. 安裝Apache
===============
2.1 編譯安裝
# tar zxvf httpd-x.x.x.tar.gz
# cd httpd-x.x.x
# ./configure --prefix=/usr/local/lib/apache --enable-so --enable-mods-shared=all --enable-rewrite=shared --enable-speling=shared
# make
# make install
2.2 apache啟動停止命令
# /usr/local/lib/apache/bin/apachectl start
# /usr/local/lib/apache/bin/apachectl stop
# /usr/local/lib/apache/bin/apachectl restart
2.3 自動運行
# echo "/usr/local/lib/apache/bin/apachectl start" >> /etc/rc.local
2.4 apache啟動時可能出現的錯誤
[Fri Dec 30 09:35:01 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
❷ apache伺服器啟動腳本apachectl無法完成
apache啟動失敗
1.
埠佔用問題 這個問題比較常見,解決起來也很容易。通常是因為IE或安裝的其它程序佔用了80埠而導致Apache啟動失敗,在啟動Apache之前將埠號修改為其它未佔用的埠就可以了。 解決方法:我們的apache軟體配置是在httpd.conf文件中配置,該文件在apache安裝目錄下conf 在httpd.conf文件中我們修改埠: Listen 81 注意修改完畢後,一定要重新啟動apache。
2.
路徑及文件名問題 解決了埠問題,還是啟動失敗,這是為什麼呢?我們需要注意一個小細節,查看一下我們安裝APMServ的路徑,要確定安裝路徑的文件夾名稱中不能出現中文或空格。畢竟這是個人作品,有些地方考慮的不是很周到,導致一些Bug。
3.
配置文件問題。
❸ 如何讓apache支持cgi腳本
安裝護衛神.apache大師,一鍵安裝apache+php+mysql+jsp+ftp,PHP默認就是php-cgi模式運行
❹ 如何在 Apache 上部署 Let's Encrypt 證書 amp;amp;自動續期腳本
在Nginx上部署Let's Encrypt證書
下載Let's Encrypt客戶端
首先我們要安裝git
apt-get update
apt-get -y install git
復制代碼
然後,檢出Let's Encrypt的客戶端源碼
git clone https://github.com/letsencrypt/letsencrypt
復制代碼
這樣,我們就成功的下載了Let's Encrypt的客戶端
簽發證書
進入目錄
cd letsencrypt
復制代碼
使用 Let's Encrypt的Apache插件生成證書即可
./letsencrypt-auto --apache -d example.com
復制代碼
如果只簽一個域名,按照上面的命令就可以了
他會自動安裝插件,然後你需要輸入郵箱來用於證書的找回。同時還會要求你選擇是否同時開啟Http和https和是否開啟強制https。
可以參照http://bbs.qcloud.com/thread-12059-1-1.html
如果是多個域名,就用下面的命令生成
./letsencrypt-auto --apache -d example.com -d www.example.com
復制代碼
#!/bin/bash
#================================================================
# Let's Encrypt renewal script for Apache on Ubuntu/Debian
# @author Erika Heidi<[email protected]>
# Usage: ./le-renew.sh [base-domain-name]
#================================================================
domain=$1
le_path='/opt/letsencrypt'
le_conf='/etc/letsencrypt'
exp_limit=30;
get_domain_list(){
certdomain=$1
config_file="$le_conf/renewal/$certdomain.conf"
if [ ! -f $config_file ] ; then
echo "[ERROR] The config file for the certificate $certdomain was not found."
exit 1;
fi
domains=$(grep --only-matching --perl-regex "(?<=domains \= ).*" "${config_file}")
last_char=$(echo "${domains}" | awk '{print substr($0,length,1)}')
if [ "${last_char}" = "," ]; then
domains=$(echo "${domains}" |awk '{print substr($0, 1, length-1)}')
fi
echo $domains;
}
if [ -z "$domain" ] ; then
echo "[ERROR] you must provide the domain name for the certificate renewal."
exit 1;
fi
cert_file="/etc/letsencrypt/live/$domain/fullchain.pem"
if [ ! -f $cert_file ]; then
echo "[ERROR] certificate file not found for domain $domain."
exit 1;
fi
exp=$(date -d "`openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-`" +%s)
datenow=$(date -d "now" +%s)
days_exp=$(echo \( $exp - $datenow \) / 86400 |bc)
echo "Checking expiration date for $domain..."
if [ "$days_exp" -gt "$exp_limit" ] ; then
echo "The certificate is up to date, no need for renewal ($days_exp days left)."
exit 0;
else
echo "The certificate for $domain is about to expire soon. Starting renewal request..."
domain_list=$( get_domain_list $domain )
"$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "${domain_list}"
echo "Restarting Apache..."
/usr/sbin/service apache2 reload
echo "Renewal process finished for domain $domain"
exit 0;
fi
復制代碼
將這個腳本加上可執行許可權,再配置每個月或每兩個月自動執行就可以保證你的證書不過期了
❺ apache伺服器啟動關閉腳本的編寫
本文假設你的apahce安裝目錄為/usr/local/apache2,這些方法適合任何情況
apahce啟動命令:
推薦/usr/local/apache2/bin/apachectl start apaceh啟動
apache停止命令
/usr/local/apache2/bin/apachectl stop 停止
apache重新啟動命令:
/usr/local/apache2/bin/apachectl restart 重啟
要在重啟 Apache 伺服器時不中斷當前的連接,則應運行:
/usr/local/sbin/apachectl graceful
如果apache安裝成為linux的服務的話,可以用以下命令操作:
service httpd start 啟動
service httpd restart 重新啟動
❻ 6.3 Apache腳本簡介
1.服務類型 :系統V-launched服務
2.所需軟體包 :httpd :Apache 2.0
httpd-devel
httpd-manual: Apache 2.0手冊
3.守護進程 :httpd
4.腳本 :httpd
5.埠 :80/tcp(http)
443/tcp(https)
6.配置文件: /etc/httpd/*
/var/www/*
7.相關的 :redhat-config-httpd
mod-ssl
⑴ 設置標準的web伺服器參數,規則的虛擬主機和模塊。
⑵ 定義文件名和mime類型
⑶ 訪問控制
希望你從頂部到底部讀取配置文件,尤其是一些重要的指示,命令。最好在頭腦中記住分析的語法。
備用伺服器進程的數量通過MPM的prefork(預派生)方式提供,MPM能被緊密地控制在Apache中。設置備用伺服器的最小和最大數量允許在高請求准備和低內存應用之間的一個平衡。
日誌文件由幾個不同的原理組成,幾乎發送或來自一個wed伺服器的每件事都能被記錄。所有日誌文件元素的一個完整列表,參考:
http://httpd.apache.org/docs-2.0 /mod/mod_log_config.html
主機名查詢默認被關閉。當打開時,客戶端的主機名將被記錄,不僅僅記錄他們的IP。總之,希望保持主機名查詢關閉,除非你感興趣想知道他們在一個連續不斷的基礎上的結果以外。
Apache模塊文件在/etc/httpd/moles中,詳細信息在含有和通常可得到的模塊上,涉及官方的Apache模塊注冊在http://moles.apache.org.中。
Apache支持以名稱和多IP為基礎的虛擬主機。
Apache也作為一個特別的用戶和組打開虛擬主機去運行相關的CGI進程。
❼ 求教高人,有沒有在redhat linux下實現apache,mysql和php自動安裝的腳本。
當然有,安裝是很方便的. 搜索LAMP自動安裝腳本,結果有很多.
#! /bin/bash
apache_prefix=/usr/local/apache
php_prefix=/usr/local/php
is_root=`id | awk '{print $1}' | awk -F '[=(]' '{print $2}'`
if [ `whoami` != "root" ] && [ $is_root != 0 ]; then
echo "Please use root install this LAMP."
exit 1
fi
# check os
OS=`uname`
if [ "$OS" != "Linux" ]; then
echo "This is not linux os, Please use linux os. Thank you."
exit 2;
fi
# install apache
if [ ! -d "$apache_prefix" ]; then
tar zxvf httpd-2.2.19.tar.gz
cd httpd-2.2.19
./configure --prefix=$apache_prefix --enable-so --enable-rewrite --with-mpm=worker
make
make install
cd ..
if [ ! -f "$apache_prefix/htdocs/test.php" ]; then
echo "<?php phpinfo(); ?>" > $apache_prefix/htdocs
fi
rm -rf httpd-2.2.19
echo "apache install is OK."
sleep 2
fi
# install mysql
is_install_mysql=`find /usr/local/bin -name mysql | wc -l`
if [ "$is_install_mysql" = 0 ]; then
tar zxvf mysql-5.5.3-m3.tar.gz
cd mysql-5.5.3-m3
./configure --without-server --with-extra-charsets=gbk,gb2312,utf8 --enable-thread-safe-client
make
make install
cd ..
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
rm -rf mysql-5.5.3-m3
echo "mysql intall is OK."
sleep 2
fi
# install freetype
if [ ! -d /usr/local/freetype ]; then
tar zxvf freetype-2.3.10.tar.gz
cd freetype-2.3.10
./configure --prefix=/usr/local/freetype
make
make install
cd ..
rm -rf freetype-2.3.10
echo "freetype install is OK."
sleep 2
fi
# install jpeg
if [ ! -d /usr/local/jpeg ]; then
tar zxvf jpegsrc.v8c.tar.gz
cd jpeg-8c
./configure --prefix=/usr/local/jpeg
make
make install
cd ..
rm -rf jpeg-8c
echo "jpeg install is OK."
sleep 2
fi
# install libpng
if [ ! -d /usr/local/libpng ]; then
tar zxvf libpng-1.2.41.tar.gz
cd libpng-1.2.41
./configure --prefix=/usr/local/libpng
make
make install
cd ..
rm -rf libpng-1.2.4
echo "libpng install is OK."
sleep 2
fi
if [ ! -f /usr/include/pngconf.h ]; then
ln -s /usr/local/libpng/include/pngconf.h /usr/include
fi
if [ ! -f /usr/include/png.h ]; then
ln -s /usr/local/libpng/include/png.h /usr/include
fi
# install gd2
if [ ! -d /usr/local/gd2 ]; then
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2 --with-freetype-dir=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg
make
make install
cd ..
rm -rf gd-2.0.35
echo "gd2 intall is OK."
sleep 2
fi
# install php
if [ ! -d "$php_prefix" ]; then
tar zxvf php-5.2.13.tar.gz
cd php-5.2.13
./configure --prefix=$php_prefix \
--with-gd=/usr/local/gd2 \
--with-apxs2=$apache_prefix/bin/apxs \
--enable-mbregex \
--enable-bcmath \
--with-mysql \
--with-zlib-dir \
--enable-mbstring=all \
--with-pdo-mysql \
--with-freetype-dir=/usr/local/freetype
make
make install
cp php.ini-dist $php_prefix/lib/php.ini
cd ..
rm -rf php-5.2.13
echo "php install is OK."
sleep 2
fi
sed -f httpd.sed $apache_prefix/conf/httpd.conf > $apache_prefix/conf/httpd.conf.tmp
cd $apache_prefix/conf
mv httpd.conf httpd.conf.bak
cat httpd.conf.tmp > httpd.conf
$apache_prefix/bin/apachectl -t
cd
echo "LAMP install is OK."
❽ 如何在Linux下設定Apache的腳本支持
Apache腳本……我知道有個編譯安裝的命令./configure --prefix=/usr/local/apache --enable-mole=so --enable-mole=rewrite --enable-shared=max --htdocsdir=/var/www &&make &&make install建議看看 http://lamp.linux.gov.cn/Apache/ApacheMenu/index.htmlApache HTTP Server 版本2.2的中文手冊非常詳細的介紹包括你沒見過的一些命令什麼的
