Lamp環境搭建步驟總結
注意:red hat linux---源碼包,付費,定製
Centos----------免費
Freebsd
建議使用源碼包進行安裝:穩定、侵權
所有的源碼包---*.c
g++(忽略)
第一步:使用到的編譯工具
gcc
gcc-c++
針對獨立的linux操作系統
首先將安裝光盤放入光驅
#mount /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom
#ls |grep gcc
#cp gcc* /tmp
#cd /tmp
#rpm –ivh *.rpm
第二種yum
Vi /etc/yum.repos.d/rhel.*
Baseurl=file:///mnt/cdrom/RED .../Server
Enable=1
#yum install gcc
第二步
tar -zxvf *.tar.gz
第三步:
庫文件---
系統的庫文件----
/lib /usr/lib
靜態庫文件 *.a
動態庫文件 *.so
安全問題
防火牆—訪問
#man iptables
#iptables –F
Selinux---控制安裝軟件
#vi /etc/sysconfig/selinux
SELINUX=disabled permissive enforceing
#setenforce 0
典型的提示信息:
*.so.3 reload …before relc :permission denied
cd /lamp/libxml2-2.6.30
./configure --help
./configure --prefix=/usr/local/libxml2/
make
make install
提供php下解析xml文檔功能
Xml當作小型數據庫使用
cd /lamp/libmcrypt-2.5.8
./configure --help
./configure --prefix=/usr/local/libmcrypt/
make
make install
提供php支持編解碼功能
cd /lamp/libmcrypt-2.5.8/libltdl
./configure --help
./configure --enable-ltdl-install
make
make install
典型提示信息:
在安裝php時提醒:…….libltdl.so.3…..:no file or directory
1) ltdl 沒有安裝好
#cd libmcrypt/libltdl
#make clean //將makefile
#./configure --
2)#find / -name libltdl.so.3
/usr/local/lib
#ln –s 被連接的應用程序 快捷方式
#ln –s /usr/local/lib/libltdl.so.3.1.0 /lib/libltdl.so.3
cd /lamp/zlib-1.2.3
./configure
make
make install
cd /lamp/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
#jpeg源碼包安裝後不能自動生成相應目錄
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
cd /lamp/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
表示開啓了使用GNU系統庫文件的功能/lib
make
make install
cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
cd /lamp/autoconf-2.61
./configure
make
make install
cd /lamp/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/ --with-png=
make
make install
cd /lamp/httpd-2.2.9
./configure --prefix=/usr/local/apache2/ --enable-so
make
make install
/usr/local/apache2/bin/apachectl start
/etc/rc.d/init.d
/etc/httpd
#service httpd start|stop|restart
/etc/inittab
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit
cd /lamp/ncurses-5.6
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
groupadd mysql
useradd -g mysql mysql
cd /lamp/mysql-5.0.41
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
make
make install
cp support-files/my-medium.cnf /etc/my.cnf
創建mysql的主配置文件(my.ini)
/usr/local/mysql/bin/mysql_install_db --user=mysql
創建保存數據庫和表的var目錄(data)
chown -R root /usr/local/mysql
設置mysql的管理員(分配權縣)
Bin lib man include var
chown -R mysql /usr/local/mysql/var
允許mysql用戶使用數據庫和表的基本功能
chgrp -R mysql /usr/local/mysql
rwxrw---- root mysql …… a
開啓mysql進程
/usr/local/mysql/bin/mysqld_safe --user=mysql &
Mysql>
Linux系統用戶(root、僞用戶、普通用戶)
服務:apache----支持匿名用戶
ftp---------支持
samba------必須是合法的系統用戶
mysql------
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown root:root /etc/rc.d/init.d/mysqld
ls –l /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off
…./bin/mysql -u mysql –p
1234566
Mysql>create database abc;
cd /lamp/php-5.2.6
./configure --prefix=/usr/local/php/ --with-config-file-path=/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
make
make install
cp php.ini-dist /usr/local/php/etc/php.ini
echo "Addtype application/x-httpd-php .php " >> /etc/httpd/httpd.conf
/usr/local/apache2/bin/apachectl restart
./configure --with
第一個服務器apache
安裝目錄:/usr/local/apache2
主配置文件:/etc/httpd/httpd.conf
Web跟文檔目錄:/var/www/htdocs
動態加載庫文件:/usr/local/apache2/modules
Apache的主配置文件
全局變量 局部變量
Abc=aksdf
Name=jaklsdjfkl
[aksdfk]
Anem=asjdkf
<klasdkf>
Ksajdfk=kasf
#表示註釋
Serverroot 服務器的安裝目錄;
Timeout 客戶連接服務器的超時時間
Keepalive OFF|ON 激活狀態
局部變量
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
Listen:80
相對路徑-----服務器的安裝路徑
Loadmodules 制定動態加載的模塊(功能)
Serveradmin:root郵箱
Documentroot:web跟文檔目錄
/var/www/htdocs ---租用了8家公司
解決:保證每個用戶文件的安全
只允許作者自己進行刪除
只允許192.168.52網段訪問
<Directory />
Options:表示該目錄允許執行的操作
None :不允許
all :允許所有
Indexes:當不存在首頁,以目錄列表方式顯示web項目(不推薦)
Includes:
FollowSymLinks:允許使用連接(在另外的某個目錄下保存web項目,鏈接到web跟文檔目錄)
SymLinksifOwnerMatch
ExecCGI
Multiviews
Allowoverride:
All:
None:管理apache使用權限
修改httpd.conf
.htaccess
A公司:192.168.52.1-10
B公司:人事部
…
Order deny allow
Deny from 192.168.52.131
Allow from 192.168.52.0/24
192.168.52.1-192.168.52.254
192.168.52.0 本網段
192.18.52.255 廣播地址
32位分4部分 網絡 主機
<Directory /home/*/public_html>
普通用戶的web站點訪問權限
Web項目保存到/home
http://localhost/~
Alias /icons/ "/var/www/htdocs/web/student/"
http://localhost/icons
虛擬主機(基於ip
基於域名等
基於端口的)
Zuoye:
Zhangsan
Lisi
配置apache服務器實現在宿主目錄下訪問web項目
htpasswd
總結:apache用戶和系統用戶有什麼關係?
分成三部分
l 全局變量:部署apache基本功能
l 目錄的權限設置
l 虛擬主機