到啥?我也不知道能到啥,主要是还不知道能到啥,软件项目,预估是:Linux( rhel 7.4),然后,jsp + apache + tomcat + mysql,或者,还有python,双机热备,不知道要不要集群,一切都是未知,试装了一下rhel 7.4,好象还要license,不然还要卸载重装yum,那和centos还有啥区别?不如直接centos吧。
系统洁癖,还是从最小安装开始吧。不管怎么样,从虚拟机开始,虽然已经装了个centos在机器上。
1. 最小安装centos,自动分区,设置好root密码和添加一个用户,没啥好说的。别的自动。
2. 装好进到系统,懒,直接用root登录。发现网络没起来。 到 /etc/sysconfig/network-scripts下,查看 if-ensXXX,我的是if-ens33,直接vi,进去看ONBOOT=no,把no改为yes,存盘退出,ifup ens33,网络OK。已经是动态获取IP了。
3.安装Xwindow,为毛?不为毛,为了无聊时可能会装个oracle,加上想用时也方便管理。
先: yum groupinstall "X Window System",然后: yum grouplist,看好 GNOME Desktop存在,再 yum groupinstall "GNOME Desktop",安装成功,使用startx,进入xwindow,GNOME桌面。
4.开个ssh连接,先查看22端口有没有监听,正常是已经打开的,netstat -tnl,确实已经打开。再次确认一下是不是ssh,systemctl status sshd。这里不知道怎么回事,好象启动xwindow后,网络又没了,重新把网卡启起来就行。哎呀,原来啥都不用做,ssh就开了呀,还以为要做啥呢,记下先吧。我用的是putty连接到centos上。
加点料,使用putty连接ssh,发现字体太小了,老花眼了,可以先创建一个session,或者,点原来保存的session,再点load,然后,在windows->Appearance的地方,设置Font Settings即可。记得再把session保存一下。
5. 安装vsftp,有时要上传东西,就试一下吧。
安装: yum install vsftpd,禁止匿名用户登录,修改配置文件: /etc/vsftpd/vsftpd.conf,只把anonymous_enable=YES改成NO,存盘,启动vsftp: systemctl start vsftpd,然后,让它可以开机启动:systemctl enable vsftpd。
添加用户:useradd -d /home/ftp -s /sbin/nologin ftpuser,添加ftpuser用户,同时,不能ssh登录,设置用户密码: passwd ftuuser,给ftpuser添加目录及权限: mkdir /home/ftp,权限:chown ftpuser:ftpuser /home/ftp。
打开防火墙:firewall-cmd --zone=public --add-port=21/tcp --permanent,firewall-cmd --zone=public --add-service=ftp --permanent,重新加载:firewall-cmd --reload
现在只支持主动连接,所以,如果使用filezilla连接ftp,记得在传输设置的传输模式中,设置为主动(默认应该是被动)
也可以在防火墙中,添加被动连接端口:firewall-cmd --zone --add-port=10060-10090/tcp --permanent,
其实还是不行,主要是selinux的问题,先试了一下,setsebool ftpd_use_passive_mode on,可以列表,不可能上传文档,怎么试都不行,暂时先偷懒,直接打开full access, setsebool ftpd_full_access on。主动就不需要设置这些。
6. 安装apache,先rpm -qa | grep http,看apache安装了没有,没装,yum -y install httpd安装。
配置,修改:/etc/httpd/conf/httpd.conf,只改了第151行,把AllowOverride从none改为All。
在/var/www/html目录下,添加一个测试文件 index.html
<html><body>hello, world!</body></html>
启动http: systemctl start httpd, 开机启动: systemctl enable httpd
打开防火墙: firewall-cmd --add-service=http --permanent,这个地方,注意是http,不是httpd
好了,从外网浏览器,输入IP,可以看到hello, world!,搞定。
7.安装tomcat,也没管装没装,直接: yum -y install tomcat
启动: systemctl start tomcat,开机启动: systemctl enable tomcat
打开防火墙: firewall-cmd --zone=pubic --add-port=8080/tcp --permanent, firewall-cmd --reload
按照文档的说法,应该就可以通过8080看到tomcat了,事实并非如此。
看了一下java的版本,是openJDK,现在我也不知道,毕竟如果开发用公用的GPL,不会有问题,专用的Oracle JDK就不行。
查了好些资料,原来是yum安装的,少装了好些东西,到底是哪些也不知道,都装上吧:
yum -y install tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp tomcat-javadoc
再用浏览器到虚拟机8080查看,OK了。
8. 安装mysql,不能直接安装,因为,现在linux基本把mysql 改为mariaDB了。
首先,到mysql主页,去下一个repo,“mysql57-community-release-el7-11.noarch.rpm”,然后,上传到linux上,直接执行: rpm -ivh mysql57-community-release-el7-11.noarch.rpm
接下来,就可以直接安装mysql了,使用: yum -y install mysql-server,然后,修改一下权限:chown -R root:root /var/lib/mysql
启动:systemctl start mysqld,开机启动:systemctl enable mysqld
修改密码,5.7和之前的版本不一样,反正大家基本都说错了,安装完5.7,会生成一个临时的密码给mysql,要使用命令:grep 'temporary password' /var/log/mysqld.log 取得临时密码,然后,使用: mysql -u root -p进行登录
当然,使用: mysql-secure-installation会重设一些安全性的设置,但也一样,会问你要密码,也必须找到临时密码才行。
好了,打开防火墙: firewall-cmd --zone=public --add-service=mysql --permanent, firewall-cmd --reload
客户端连接,在windows上,安装一个MySQL WorkBench,连接数据库,连接不上,出现不允许连接的提示,OK,这是因为,mysql默认只能本地连接。继续,到mysql里,
如果没跑mysql-secure-installation,则自己跑命令: alter user 'root'@'localhost' identified by '新密码'; 先修改密码。
输入命令: grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option; 让root用户可以在所有地方登录,然后,再: flush prilileges; 就可以了。
感觉就先到这了,本文暂时结束,过几天看要不要加个Oracle的安装,或者另起一篇文章,嗯,还有nginx,MySQL replication, MySQL cluster,Linux的双机热备,互备,Apache的负载均衡......