zoukankan      html  css  js  c++  java
  • 零基础XAMPP for Linux虚拟机建站教(笔)程(记)

    之所以写零基础是因为自己确实从零开始摸索、踩坑,严格意义上来仅仅作为记录自己操作流程的一个笔记,并没有拔高到教程程度。

    XAMPP一般用作开发环境,或供学习之用;在Windows系统下使用比较简单,且网上教程很多,而Linux下的教程则很少或不全;这里只记录全新安装虚拟机Linux系统下的建站步骤,且不涉及前端代码与PHP方面。

    用到的软件:

    1)VMware workstation 12.0.0;

    2)CentOS 6.4 镜像;

    3)XAMPP for Linux;

    4)XShell 4;

    5)EMS SQL Manager。

    操作步骤:

    一、虚拟机Linux安装

    1.VMware安装略过,无难度。

    2.打开VMware->创建新的虚拟机->选择“典型”,下一步->选择“稍后安装操作系统”,下一步->选择“Linux”以及版本“CentOS 6.4”,下一步->选择安装路径,下一步 ->选择磁盘大小以及“拆分成多个文件”,下一步->选择“自定义硬件”,在弹窗里,将网络默认的NAT改为桥接,磁盘选择准备好的ISO镜像路径,关闭弹窗,点击完成。

    3.在VMware标题栏选项卡选择“编辑”->“虚拟网络编辑器”->弹窗选择“更改设置”;此时VMnet0对应的VMnet信息框中,桥接模式的选择框中的值为“自动”,改为你的网卡->确定。

    4.启动虚拟机,安装CentOS;安装过程中默认为Minimal安装,若第一次接触,可选择Desktop。

    注:本文所有相关IP或网络的设定是基于局域网内虚拟机的情况,若有公网IP另当别论。

    二、基础配置

    1.之前网络选择的是桥接模式,即虚拟机与实体机同处一个网段,在终端中输入:

    ifconfig

    可查看IP,默认为自动获取,可以手动设置为固定值,在终端中输入:

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    将BOOTPROTO等号右边的值改为static,继续添加:

    DNS1=192.168.1.1
    #注:根 据实际情况,比如你的实体机IP为192.168.1.159,则DNS为 192.168.1.1
    IPADDR=192.168.1.155
    #注:自己指定的IP地址,与实体机IP在同一网段
    NETMASK=255.255.255.0
    #注:子网掩码
    GATEWAY=192.168.1.1
    #注:同上,网关

    保存关闭文件,重启查看是否生效。

    2.若发现网络没有自动连接,仍旧打开1中的文件,修改ONBOOT的值为yes即可。

    3.配置防火墙,开启80与3306端口,前者为web服务所用,后者为数据库所用;终端输入:

    vi /etc/sysconfig/iptables

    在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT这条规则之后添加:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    #注:允许80端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    #注:允许3306端口通过防火墙

    保存关闭文件(注:若添加在配置文件最末尾会出错),终端输入:

    /etc/init.d/iptables restart

    重启防火墙使配置生效。

    三、XAMPP安装与基础配置

    1.在此之前先安装好XShell;点击新建建立SSH连接,主机为虚拟机IP地址;连接成功后,作基础设定,“文件”->“属性”->“终端”->“编码”->选择utf-8,若字号太小也可自行调大。

    2.Ctrl+Alt+F打开文件传输窗口,将下好的XAMPP安装包上传,比如上传至/tmp文件夹。

    3.进入tmp文件夹:

    cd /tmp
    chmod 777 xampp-linux-x64-1.8.3-5-installer.run
    #注:输入头几个字母,按Tab自动补全
    ./xampp-linux-x64-1.8.3-5-installer.run

    按提示安装完成,此时输入:

    /opt/lampp/lampp start

    可开启服务器。

    4.在实体机的浏览器中,进入192.168.1.155/phpmyadmin会提示403错误,这是因为默认状态下只能在本地打开此网页,此时在XShell输入:

    vi /opt/lampp/etc/extra/httpd-xampp.conf

    找到"/opt/lampp/phpmyadmin">,将其对应的Require local改为

    Require all granted

    保存关闭文件(注:修改方式根据版本不同,有的老版直接将LocationMatch标签下的Require local注释掉即可,但新版会直接导致报错,因此首先尝试如此修改),输入:

    /opt/lampp/lampp restart

    重启服务器。

    5.如无意外192.168.1.155/phpmyadmin已经可以在实体机中正常访问,为今后使用方便,将XAMPP设定为随系统启动,输入:

    egrep :initdefault: /etc/inittab
    #注:正则匹配,在/etc/inittab文件中查找形如:initdefault:的代码段

    若安装系统时选择了Desktop,则搜索结果应为id:5:initdefault:;若想更改启动方式为命令行启动,可以进入/etc/inittab将id:5:initdefault:修改为id:3:initdefault:;此处假定已经改为3,输入:

    cd /etc/rc.d/rc3.d
    #注:若未改为3,将rc3写为rc5即可
    ln -s /opt/lampp/lampp S99lampp
    #注:此句添加XAMPP进入启动项

    若想取消开机启动,S99lampp改为K01lampp即可。

    6.开发页面时,只需将项目文件夹放入/opt/lampp/htdocs,比如项目文件夹test,入口页为index.html,那么在实体机中输入192.168.1.155/test/index.html即可访问。

    另:涉及日志保存时,记得给日志文件夹添加写入权限;如将日志文件夹命名为Log,放在/opt/lampp下,进入目录,输入:

    chmod -R a+w Log

    即可。

    四、MySQL基础配置

    1.首先设定密码,输入:

    /opt/lampp/bin/mysql -uroot -p

    回车,默认无密码,再次按回车进入数据库,输入:

    show databases;

    可查看现有数据库,如登录数据库的用户信息就存在mysql数据库下的user表当中,输入:

    use mysql;

    选择数据库,输入:

    select * from user;

    可查看user表下的用户信息,可以发现root用户对应的密码均为空,输入:

    update user set password=password('yourpassword') where user='root';

    即可将用户名为root的用户密码均改为你设定的密码,注意一定要使用password('')。

    2.此时还不用退出数据库,输入:

    delete from user where user='';

    删除匿名用户;若没有这一步,进行下一步之后,会出现数据库访问频频报错的情况;此时设定好密码的root用户无法正常登录,用匿名用户可以登录(其实是默认匹配到了匿名用户登录),却找不到mysql数据库(没有权限),因此统一删除匿名用户。

    若没有删除,且数据库已经无法访问,提示“ERROR 1045 (28000): Access denied …”可以尝试用语句

    /opt/lampp/bin/mysql -h 192.168.1.155 -u root -p

    来登录,再对数据库进行修改。

    3.接着,输入:

    update user set host='%' where user='root' and host='localhost';

    设定root用户可以远程访问,最后输入:

    flush privileges;

    退出数据库。

    4.此时会发现192.168.1.155/phpmyadmin无法访问了,输入:

    vi /opt/lampp/phpmyadmin/config.inc.php

    找到$cfg['Servers'][$i]['password'] = '';将刚才设定的密码填入''中,保存关闭文件,输入:

    /opt/lampp/lampp restart

    重启服务器,192.168.1.155/phpmyadmin访问正常。

    5.到这里数据库还不能正常使用,因为默认的编码格式并非utf8,此时添加数据库信息会导致中文乱码,登录数据库,输入:

    show variables like '%char%';

    可查看当前编码格式,发现character_set_database和character_set_server对应的值为latin1,输入:

    set character_set_database=utf8;
    set character_set_server=utf8;

    可在本次登录中将编码格式改为utf8,即退出数据库后失效;若想保存为默认设定,输入:

    vi /opt/lampp/etc/my.cnf

    在[client]和[mysql]下添加:

    default-character-set = utf8

    在[mysqld]下添加:

    character-set-server = utf8

    保存关闭文件,重启服务器,此时数据库编码设定完毕。

    五、MySQL基本操作

    1.在第四步当中,XAMPP自带的数据库管理工具已经可以使用,浏览器进入192.168.1.155/phpmyadmin即可。关于phpmyadmin的操作不谈,这里以EMS SQL Manager为例。

    2.安装好软件后,打开“Database”选项卡->“Register Host”->填写基本信息后下一步->选择具体的database到右侧框内->完成。

    3.顺利的话左边栏将显示你的主机IP,点击加号可展开主机下你所添加的database,双击连接,第一个子项tables即为此database下的表单。

    4.右键tables可新建表单,在右侧的选项卡中,properties可设定表单名及存储引擎;fields可编辑表单结构,添加字段;data可添加或修改表单数据;所有操作都要记得点compile保存更改。

    5.按F12,可以直接运行SQL语句。

    六、XAMPP安全与优化配置

    1.若作为生产环境,还需进行进一步设置,输入:

    vi /opt/lampp/etc/httpd.conf

    找到"/opt/lampp/htdocs">,添加或修改为:

    Options FollowSymLinks
    AllowOverride None

    意在使htdocs下的目录对外不可访问。

    2.修改PHP报错等级,输入:

    vi /opt/lampp/etc/php.ini

    利用“/”全文搜索关键字,改为:

    error_reporting = E_ALL & ~E_DEPRECATED
    display_errors=Off
    display_startup_errors=Off

    3.关闭FTP服务,输入:

    /opt/lampp/lampp stopftp

    即可,下次重启服务器时将不会启动FTP服务。

    4.之前开发的时候允许phpmyadmin的远程访问,这里记得关闭,将/opt/lampp/etc/extra/httpd-xampp.conf文件修改为原样即可。

    5.修改MySQL高并发优化配置(myisam为例),输入:

    vi /opt/lampp/etc/my.cnf

    其中:

    key_buffer = 16M 修改为 key_buffer_size = 32M 
    max_allowed_packet = 1M 修改为 max_allowed_packet = 32M 
    read_buffer_size = 256K 修改为 read_buffer_size = 4M
    添加 max_connections = 3000

    设置项根据实际需求修改。

    (本文结束)

  • 相关阅读:
    动态表单功能
    IDEA2019版Run Dashboard调出方案
    js页面传递参数为中文乱码问题解决方法
    layui 一行多列控件时使用table布局
    npm 安装包失败 --- 清除npm缓存
    解析数据库连接字符串 (将Data Source、Initial Catalog、User ID、Password取出)
    SQL SERVER 存储过程语法
    mvc5 跨域访问
    钟表
    MVC session过期如何处理跳转(转)
  • 原文地址:https://www.cnblogs.com/AidenChen/p/5407442.html
Copyright © 2011-2022 走看看