virtualboxcentos7虛擬機器安裝lamp(apache+mysql5.5+php5.5+redis)
一、虛擬機器安裝注意事項
兩種上網方式
區域網無法配置ip情況,
用兩塊網路卡
網路地址轉換(net)
僅主機(Host-only)介面卡 選擇虛擬機器網路卡
如果沒有虛擬機器網路卡,可以在全域性設定裡新增和配置
區域網可以配置ip情況
用一塊網路卡
橋接網路卡,選擇宿主機網路卡
二、配置ip
先用ip addr 命令檢視網路卡和ip
如果沒有ip地址用nmtui 命令配置
配置完成後/etc/init.d/network restart 重啟網路
ping www.baidu.com 是否連通,沒有重啟系統
或者 vi /etc/sysconfig/network-scripts/ifcfg-xxx xxx表示具體網路卡
注意要設定為網路卡開機自動啟動
三、新增remi、epel、mysql源
yum localinstall http://mirror.innosol.asia/remi/enterprise/remi-release-7.rpm -y
yum localinstall http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm -y
cd /etc/yum.repos.d/
vi remi.repo 修改下面兩項
[remi]
enabled=1
[remi-php]
enabled=1
vi mysql-community.repo 修改下面兩項
[mysql55-community]
enabled=1
[mysql56-community]
enabled=0
安裝Apache
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
vi /etc/httpd/conf/httpd.conf
Options Indexes FollowSymLinks #144行 修改為:Option FollowSymLinks(禁止列出目錄)
AllowOverride None # 151行 修改為:AllowOverride All (允許.htaccess)
DirectoryIndex index.html # 164行 修改為:DirectoryIndex index.html index.htm Default.html Default.htm index.php(設定預設首頁檔案,增加index.php)
MaxKeepAliveRequests 500 #120行新增MaxKeepAliveRequests 500 (增加同時連線數)
SetEnv APP_ENV local #145行 新增環境變數
systemctl start httpd.service #啟動
systemctl enable httpd.service #開機自動啟動
chown apache:apache -R /var/www/html #設定資料夾屬組
apache執行自動生成access_log(訪問日誌)和error_log(錯誤日誌)兩種日誌檔案,
centos使用yum方式安裝lamp環境的,日誌檔案位置:
/var/log/httpd/access_log是Apache伺服器的訪問日誌檔案
/var/log/httpd/error_log是Apache伺服器的錯誤日誌檔案
如果把所有的訪問日誌都放在access_log,所有的錯誤日誌都放在error_log檔案,
時間長了日誌檔案會很大,影響apache速度,因此限制日誌檔案大小是很有必要的。
開啟apache的配置檔案:vi /etc/httpd/conf/httpd.conf
編輯:
錯誤日誌
ErrorLog logs/error_log #註釋,加上下面這行
ErrorLog “|rotatelogs /var/log/httpd/error_log%Y_%m_%d.log 86400 480” #每天生成錯誤日誌
訪問日誌
CustomLog logs/access_log common #註釋加上下面這樣
CustomLog “|rotatelogs /var/log/httpd/access_log%Y_%m_%d.log 86400 480” common #每天生成訪問日誌
OK,重啟apache,你就可以看到新生成的日誌檔案:
安裝php
yum -y install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-devel libmcrypt libmcrypt-devel mhash php-imap php-pecl-memcached php-pecl-redis php-pecl-memcache php-mcrypt
yum -y install php-phalcon2
vi /etc/php.ini
date.timezone = PRC # 873行 把前面的分號去掉,改為date.timezone = PRC
expose_php = Off # 366行 禁止顯示php版本的資訊
short_open_tag = ON # 202行支援php短標籤
下面兩項可以不用
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
列出PHP可以禁用的函式,如果某些程式需要用到這個函式,可以刪除,取消禁用。
open_basedir = .:/tmp/ #299行設定表示允許訪問當前目錄(即PHP指令碼檔案所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之後安裝程式有問題(例如:織夢內容管理系統),可以登出此行,或者直接寫上程式的目錄/data/www.osyunwei.com/:/tmp/
安裝php除錯xdebug
yum install php-php-pecl-xdebug
vi /etc/php.d/xdebug.ini
; Enable xdebug extension module
; see http://xdebug.org/docs/all_settings
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9001 #埠
xdebug.remote_host=192.168.18.104 #遠端主機
xdebug.idekey=”caicai”#除錯key
xdebug.remote_log=”/var/www/html/logs/xdebug.log”#log檔案位置
安裝mysql、redis、memcache
檢測centos7系統自帶的mariadb並刪除
rpm -qa | grep mariadb 如果有再執行下面的命令
rpm -e –nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 注意版本換成上面命令得到的版本
yum -y remove mariadb*
安裝mysql、redis、memcache ( redis 最新版本的需要手動安裝 安裝步驟在文件結尾)
yum -y install mysql-server mysql mysql-devel memcached redis
執行mysql_secure_installation
回車,根據提示輸入Y(注意預設密碼是空)
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MySQL!
systemctl start mysqld.service #啟動
systemctl enable mysqld.service #開機自動啟動
配置mysql
1、允許遠端連線
檢視 vi /etc/my.cnf
如果有bind-address = 127.0.0.1,則在前面加#號註釋掉
輸入mysql -u root -p
use mysql;
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘你的密碼’ WITH GRANT OPTION;
centos7環境如果上面報錯的話,可以更新密碼如下:
mysql>update user set password=password(`123456`) where user=`root`;
操作完後切記執行以下命令重新整理許可權
FLUSH PRIVILEGES;
加快連線
vi /etc/my.cnf
在[mysqld]下面新增一項 skip-name-resolve
[mysqld]
忘記密碼修改
/etc/init.d/mysqld stop
mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
mysql -u root mysql
UPDATE user SET Password=PASSWORD(‘你的密碼’) where USER=’root’;
FLUSH PRIVILEGES;
配置redis
vi /etc/redis.conf
daemonize yes
systemctl enable redis.service
如果錯誤執行chkconfig redis on
systemctl start redis.service
配置memcache
systemctl disable memcached.service #關閉memcache開機自動啟動
如果提示錯誤執行 chkconfig memcached on,再執行systemctl disable memcached.service
cd /etc/sysconfig/
cp memcached memcached1
cp memcached memcached2
cp memcached memcached3
vi memcached1
修改port為11210
vi memcached2
修改port為11211
vi memcached3
修改port為11212
cd /usr/lib/systemd/system/
cp memcached.service memcached1.service
cp memcached.service memcached2.service
cp memcached.service memcached3.service
vi memcached1.service
修改EnvironmentFile=-/etc/sysconfig/memcached1
vi memcached2.service
修改EnvironmentFile=-/etc/sysconfig/memcached2
vi memcached2.service
修改EnvironmentFile=-/etc/sysconfig/memcached3
systemctl enable memcached1.service
systemctl enable memcached2.service
systemctl enable memcached3.service
systemctl start memcached1.service
systemctl start memcached2.service
systemctl start memcached3.service
關閉防火牆
1、修改/etc/selinux/config 檔案
將SELINUX=enforcing改為SELINUX=disabled
重啟機器永久關閉
臨時關閉 執行 setenforce 0
/usr/sbin/sestatus -v 檢視狀態
2、關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
測試
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除預設測試頁
systemctl restart httpd.service #重啟apache
vsftpd
安裝
yum -y install vsftpd
chkconfig vsftpd on #開機自動啟動
配置conf 採用虛擬使用者方式 (注意配置檔案,不允許有多餘空格,換行符是linux格式)
主配置檔案長達123行,但大部分是以#號開始的,這些都是註釋資訊,我們可以過濾掉它們。
備份vsftpd的主配置檔案:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
過濾掉所有包含#號的行,並將過濾結果寫回到vsftpd.conf檔案中:
grep -v “#” /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_umask=000
local_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
listen=YES
listen_ipv6=NO
guest_enable=YESvi
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf
建立chroot_list
cd /etc/vsftpd/
建立chroot_list檔案,並把vftpd.conf配置檔案中的guest_username(這裡是ftp)寫入即可
vi chroot_list
ftp
建立使用者密碼檔案/etc/vsftpd/vuser_passwd.txt ,注意奇行是使用者名稱,偶行是密碼
生成虛擬使用者認證的db檔案
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
編輯認證檔案/etc/pam.d/vsftpd
把註釋去掉,然後加上已下幾條
注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虛擬使用者的db檔案
檢視系統版本號: getconf LONG_BIT
系統為32位:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
系統為64位:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
最終內容如下:
建立虛擬使用者配置檔案
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/kkk //檔名等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效
設定虛擬使用者配置檔案內容
anon_umask=000
local_root=/var/www/html
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
把ftp使用者加到apache組裡
usermod -a -G apache ftp
chmod -R 775 /var/www/html/
10、啟動vsftpd服務
systemctl restart vsftpd
開啟selinux和防火牆
1、firewall
開啟服務
firewall-cmd –add-service=http –permanent
firewall-cmd –add-service=https –permanent
firewall-cmd –add-service=ftp –permanent
firewall-cmd –add-service=ssh –permanent
firewall-cmd –add-service=mysql –permanent
firewall-cmd –add-port=3128/tcp –permanent
firewall-cmd –reload
firewall-cmd –list-all
開啟埠命令firewall-cmd [–zone=] –add-port=[-]/ [–timeout=]
selinux 過於複雜,session和memcache有問題,放棄
vi /etc/selinux/config
SELINUX=disabled改為SELINUX=enforcing
重啟
setsebool -P ftp_home_dir=1
setsebool -P allow_ftpd_full_access=1
getsebool -a | grep http
setsebool -P httpd_anon_write 1
setsebool -P allow_httpd_full_access 1
setsebool -P httpd_can_network_memcache 1
setsebool -P httpd_can_network_connect_db 1
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_relay 1
chcon -t tmp_t /var/www/html/app/cache
十一、雜項
composer
yum install nc phpunit php-php-cli
yum install deltarpm
mv /usr/bin/php /usr/bin/php.back
ln -s /usr/bin/php /usr/bin/php
curl -s http://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer
composer config -g repositories.packagist composer http://packagist.phpcomposer.com
配置檔案複製到phpcli的php.d資料夾中
yum whatprovides */ls
yum install mlocate
yum install nmap
yum install net-tools
cache_mem 128 MB
cache_dir ufs /var/spool/squid 1024 16 256
squid -k parse
列出目錄
Options Indexes FollowSymLinks
chown -R apache:apache /var/www
1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
chmod g+s /var/www/
curl -sS https://getcomposer.org/installer | php
curl -sS http://packagist.cn/composer/installer | php
php -r “readfile(‘http://packagist.cn/composer/installer’);” | php
composer config -g repositories.packagist composer http://packagist.phpcomposer.com
Indexes允許訪問目錄 刪掉 htacess 檔案
svn使用samba伺服器共享
目的是直接修改遠端伺服器上的程式碼,不需要再用ftp
Centos安裝 yum -y install samba samba-client samba-common
新增samba使用者smbpasswd -a root
輸入samba使用者密碼
開啟這個使用者smbpasswd -e root
修改samba配置 可以先備份一下 mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
[global]
workgroup=WORKGROUP
netbios name=centos
server string=Samba Server
delete readonly = yes
security = user
passdb backend = smbpasswd
[Share]
path=/var/www/html
valid users = root
writable = yes
read only = no
public = no
create mode = 0777
directory mode = 0777
修改html的許可權為777 chmod -R 777 /var/www/html
global是全域性配置,Share共享名,即其他機器上看到的資料夾名
Windows
在我的電腦上右鍵,
輸入自己的伺服器ip地址
Svn checkout https://192.168.18.253/svn/apply/bokelong/server/popolo_develop_160112
注意要用根目錄
十三,Redis安裝配置
一,下載安裝編譯
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make install
二,執行./utils/install_server.sh配置Redis配置之後Redis能隨系統啟動。
Redis服務檢視、開啟、關閉
1、通過ps -ef|grep redis命令檢視Redis程式;
2、開啟Redis服務操作通過/etc/init.d/redis_6379 start命令,也可通過(service redis_6379 start);
3、關閉Redis服務操作通過/etc/init.d/redis_6379 stop命令,也可通過(service redis_6379 stop);
systemctl status redis_6379
相關文章
- 安裝虛擬機器虛擬機
- LEDE 虛擬機器安裝虛擬機
- 虛擬機器安裝ubuntu虛擬機Ubuntu
- ubuntu虛擬機器安裝Ubuntu虛擬機
- xen安裝半虛擬化虛擬機器虛擬機
- centos6虛擬機器安裝到開始使用過程指引&LAMPCentOS虛擬機LAMP
- CentOS 7 安裝虛擬機器CentOS虛擬機
- 使用虛擬機器安裝Kail虛擬機AI
- kvm 安裝 windows 虛擬機器Windows虛擬機
- Mac 安裝Windows虛擬機器MacWindows虛擬機
- MacOS安裝虛擬機器教程Mac虛擬機
- centos中安裝虛擬機器CentOS虛擬機
- 虛擬機器kali安裝vmtools虛擬機
- Centos7虛擬機器安裝CentOS虛擬機
- 在虛擬機器中安裝ftp虛擬機FTP
- 單個虛擬機器安裝spark虛擬機Spark
- 虛擬機器Tomcat的安裝虛擬機Tomcat
- Linux 安裝 KVM 虛擬機器Linux虛擬機
- 在虛擬機器安裝OpenSuse Tumbleweed虛擬機
- 虛擬機器安裝rac傻瓜教程虛擬機
- CentOS 7虛擬機器安裝教程CentOS虛擬機
- 虛擬機器安裝 gho系統虛擬機
- win10安裝xp虛擬機器安裝教程_win10安裝xp虛擬機器詳細步驟Win10虛擬機
- Homestead 虛擬機器安裝步驟虛擬機
- 【虛擬機器】VMware-VMware Tool安裝虛擬機
- linux 虛擬機器下 安裝redisLinux虛擬機Redis
- 虛擬機器Centos安裝docker小記虛擬機CentOSDocker
- kvm之三:本地安裝虛擬機器虛擬機
- 虛擬機器安裝 PHPHub5(一)虛擬機PHP
- 在 VMware workstation 安裝 CentOS 虛擬機器CentOS虛擬機
- Ubuntu下如何安裝VMWave虛擬機器?Ubuntu虛擬機
- 安裝VM虛擬機器 centos7虛擬機CentOS
- VM虛擬機器Ubuntu下安裝VMTools虛擬機Ubuntu
- 在安卓虛擬機器中安裝apk安卓虛擬機APK
- 虛擬機器 Centos5.5 安裝oracle虛擬機CentOSOracle
- VMware虛擬機器安裝Centos-7.9虛擬機CentOS
- VMware Workstation17虛擬機器安裝虛擬機
- NOI Linux 虛擬機器安裝教程Linux虛擬機