1.编译apr-util报错:

fatal error: expat.h: No such file or directory
  解决:yum install expat-devel

2.编译安装openssl

	1)	将下载的压缩包放在根目录/。
	2)	在文件夹下解压缩,执行如下命令:
	tar -xzf openssl-1.1.0c.tar.gz
	3)	进入解压目录,执行如下命令:
	cd openssl-1.1.0c
	4)	设定Openssl 安装路径,( --prefix )参数为欲安装之目录,执行如下命令:
	./config --prefix=/usr/local/openssl
	执行命令./config -t
	5)	make && make install 
	6)	查看openssl的依赖关系。
	cd /usr/local
	ldd /usr/local/openssl/bin/openssl 
		linux-vdso.so.1 =>  (0x00007ffcdb7dd000)
		libssl.so.1.1 => not found
		libcrypto.so.1.1 => not found
		libdl.so.2 => /lib64/libdl.so.2 (0x00007f54ef8fd000)
		libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f54ef6e1000)
		libc.so.6 => /lib64/libc.so.6 (0x00007f54ef31e000)
		/lib64/ld-linux-x86-64.so.2 (0x00007f54efb16000)
	7)查看openssl绝对路径和版本
	which openssl
		/usr/bin/openssl
	openssl version
		OpenSSL 1.0.1e-fips 11 Feb 2013

3.编译安装apr-util,

执行make && make isntall时报错:xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
解决:
yum -y install expat-devel

4.编译(make)http(apache)时,

出现:
	undefined reference QA
	/opt/apache/httpd- 2.4.26 / srclib / apr-util / lib / libaprutil-1.so的未定义引用:对`XML_SetElementHandler' / opt / apache / httpd-的未定义引用2.4.26 / srclib / apr-util / lib / libaprutil-1.so:未定义的对“XML_StopParser”的引用
	collect2: error: ld returned 1 exit status
	make[2]: *** [htpasswd] Error 1
	make[2]: Leaving directory `/usr/local/src/httpd-2.4.37/support'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/usr/local/src/httpd-2.4.37/support'
	make: *** [all-recursive] Error 1
解决方法:
	*因为我们使用了apr 1.6.2的依赖,所以下面我们必须要用apr-util 1.6.0版本,apr-util 1.6.0 
	不再捆绑安装expat,但又需要expat的支持,所以我们得手动先安装expat。不然编译apache的时候会报错。*
	wget https://sourceforge.net/projects/expat/files/expat/2.2.6/expat-2.2.3.tar.bz2 
	tar -jxvf expat-2.2.3.tar.bz2 
**在这里如果报错**:
	tar (child): bzip2: Cannot exec: No such file or directory
	tar (child): Error is not recoverable: exiting now
	tar: Child returned status 2
	tar: Error is not recoverable: exiting now
**解决方法**:yum -y install bzip2
	cd expat-2.2.6 / 
	./configure --prefix=/usr/local/expat 
	make && make install 
然后在安装安装apr-util 
	cd apr-util-1.6.5 / 
	./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
	make && make install

5.卸载软件

  rpm -qa | grep softwarename	##查找软件)
  rpm -e softwarename	##rpm 卸载
  yum erase softwarename -y 	##yum 卸载

6.在编译apr时报错:

	rm: cannot remove 'libtoolT': No such file or directoryconfig.status: execut
解决方法:
	在解压后的apr文件中:touch libtoolT

7.找不到动态库libssl.so.1.1,小问题,执行如下命令

	# vim /etc/ld.so.conf
在最后追加一行:
	/usr/local/openssl/lib
然后执行:
	ldconfig /etc/ld.so.conf
	openssl version

8.启动mysql出现

	The server quit without updating PID file
解决方法(权限问题)
  chown -R mysql.mysql /usr/local/mysql
9.phpmyadmin提示。./tmp不能创建时,也时权限问题
	chown -R daemon.daemon /usr/local/apache/htdocs/

10.设置http强转https

	页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

	301重定向在网站中经常会用到,比如我想使用www.fossen.cn作为主域名,而不是fossen.cn。考虑到有时候用户可能会省略www,为了让他们能直接访问主域名,而不是重新在地址连加上www的前缀,这时使用301可以将后者强制转向前者。

	还有目前主流浏览器默认用http访问网站,而启用了https的网站可以用301重定向,将所有http的请求强制转向https,这样不管用户输入的网址是什么,最终只能使用https进行安全的访问。

	在Apache中可以很简单的实现上述两种301重定向,百度搜到的方案有很多使用的mod_rewrite,但Apache官方都建议在这种简单的应用场景下,尽量不要使用mod_rewrite,When not to use mod_rewrite。mod_rewrite功能强大,但这也意味着它更加复杂,更难维护,在某些情况下应该使用那些更简单的代替方法。mod_alias提供了Redirect指令,可以将一个url转向至另一个。

	主域名和https重定向可以同时设置,如下。
	编辑配置文件httpd.conf,在虚拟主机中使用Redirect指令,*:80表示监听80端口所有域名的请求,即所有http请求;ServerName和ServerAlias表示多个需要转向的域名;Redirect指令表示,两域名下所有url的请求永久重定向到https://www.fossen.cn/;而https的请求则全部用另一个监听443端口的虚拟主机处理。
	<VirtualHost *:80>
	ServerName www.fossen.cn
	ServerAlias fossen.cn
	Redirect permanent "/" "https://www.fossen.cn/"
	</VirtualHost>

	<VirtualHost *:443>
	ServerName www.fossen.com
	# ... SSL configuration goes here
	</VirtualHost>