一.默认目录在哪儿?

开始时面对该xampp集成开发环境的相关配置有点不知所错,于是便先想着找httpd.conf,通过该文件,对该集成环境的配置文件关系有了大致了解,具体操作如下;

cd /opt/lampp/etc

vi httpd.conf

默认ServerName

默认网页等资源所在目录:

对其它配置文件的包含引入:

打开linux的hosts文件,我们可以看到对应的主机名(Hostname)和域名(Domain)映射关系:
             vi /etc/hosts

二.让php在命令行中跑起来

经过查阅相关资料,要让lampp的php在ubuntu中能执行起来,需要添加相关的环境变量:

sudo gedit /etc/profile

export PATH=/opt/lampp/bin:$PATH

使配置立即生效:

source /etc/profile

查看环境变量是否成功加入:

echo $PATH

这时建立一个用来测试的php文件,存放在 /home/yang/Downloads/1.php

<?php$i="hello world";echo "该变量是:"."$i";echo "\n";
?>

在命令行中进行执行测试:

nice! 测试通过,可以进行下一步了.

三.php的相关配置

1.查看php在apache中的相关配置

打开/opt/lampp/etc/httpd.conf文件,可看到php模块的载入部分为:

在该文件此处可配置.php文件的执行方式:

增添内容为:

#设定三种文件后缀都又php模块来"执行"

Add AddType application/x-httpd-php .php   .php3    .ppp

在/opt/lampp/etc/extra/httpd-xampp中,也可以发现起到相同作用的配置语句:

2.配置php.ini

通过localhost--->点击主页中的php.ini 我们可知php.ini在该集成环境中的默认位置

用vi 打开该文件并使用vi 的search功能找到时区设置:

sudo vi /opt/lampp/etc/php.ini

按住 shift+:  -----> 输入 /timezone ----> n键查找下一个-->退出并保存

这样就将时区设置成我国本地.

四.测试数据库连接

在/opt/lampp/htdocs/ 目录下,我们写测试文件 2.php

<?php//数据库连接测试$conn = mysql_connect("localhost","root","123");if($conn){echo "数据库连接成功";}?>

在浏览器中地址拦输入如下地址,如果显示"数据库连接成功"则说明该部分工作正常.

五.虚拟主机配置

1.端口监听

    端口:就是一个数字,目的是让一台电脑(对外只有一个IP)能够对外提供多项服务,行业默认的有如下常见服务和端口号:

web服务:80

ftp服务:21

邮件收取服务:110

mysql数据库服务:3306

一台电脑中,有6万个端口,但通常一台服务器,一般只提供几个或10几个服务.apache的端口监听设置,是指apache这个软件针对当前服务器哪些端口提供web服务.

apache中的端口监听设置为:

我们新增一个808端口进行测试:

可见,新增的端口号起到了作用.

2.主机配置关键项

    主机,虚拟主机,web站点,是指一个可以通过浏览器并使用某个域名进行访问的"web应用".

一个主机(站点),最核心的就两件事:

主机(站点)的名字: ServerName "主机名"

主机(站点)的实际文件夹位置: Documentot    "站点的实际完整路径"

apache 的作用其实就是一个"转换"角色:将当前电脑中的某个文件夹,对外以某个域名(站点)的方式展现出来,换句话说站点的本质就是一个文件夹.

/opt/lampp/etc/httpd.conf 中的默认有关配置为:

当一个请求通常域名解析进入到当前apache并端口匹配成功后,apache就会开始提供服务:
             1.在站点设置中找ServerName项,看是否匹配请求中的主机名;

2.如果找到,则在对应的目录(DucumentRoot配置项)中找相应的文件(可能是index.php或其他)

3.如果找到,则返回该文件(或调用php语言模块执行后返回)

4.如果没找到对应请求中的主机名,那么就将第一个主机当做准备提供服务的主机

由此可见,只要ip解析和端口能够进入到当前服务器并匹配apache的端口设定,则apache一定会提供服务,即使主机名不匹配.

根据上述思想我们来进行一些测试:

将/opt/etc/httpd.conf 中的三个地方修改:

并在 /etc/hosts中进行如下增添:

/opt/lampp 用来测试的php文件为:

<?phpecho "you are visiting the resource by self configuration";
?>

在浏览器中测试:

3.配置文件夹访问权限

        文件夹的访问权限在该标签下进行:

常见设置语句:

       <Directory "/opt/lampp/htdocs/">#下一行用于设定"可显示文件列表"(当无显示网页的时候)Options Indexes#用于设定权限的判断顺序:先拒绝,后允许Order deny,allow#允许所有(这里没有设定拒绝)Allow from all</Directory>

我们访问一个站点的时候,可以设定要访问的网页,比如 www.dachongzi.com/index.php,也可以不指定如:www.dachongzi.com

对于后一种情况,apache就可以设定"默认网页"以提供给用户,形式为:

此时,对于没有明确要访问网页的请求,会按顺序从前往后找这些文件,找到后就"返回"给用户.但是,如果最终都没有找到,Options中的Indexes 就发挥作用了:显示该文件夹中的所有文件.

我们也可以将DirectoryIndex设置项放在一个单独的站点或单独的文件夹中,则只对该单独的站点或单独的文件夹起作用.

<Directory "/opt/lampp/htdocs/">#下一行用于设定"可显示文件列表"(当无显示网页的时候)Options Indexes#用于设定权限的判断顺序:先拒绝,后允许Order deny,allow#允许所有(这里没有设定拒绝)Allow from all#DirectoryIndex设置,此时只对该文件夹有效DirectoryIndex 1.php</Directory>

4.主机别名设置

在应用中,我们常常可以使用以下两种方式来访问一个站点:

http://www.dachongzi.com

http://abc.com

通常,现在越来越流行后者,此时,就相当于"2个站点(主机名)"但访问的是一个内容

此时就需要使用主机别名来实现:

ServerAlias     别名1    别名2    别名3      ...

5.文件夹访问控制的文件控制方式

          通常,我们在config配置文件中,使用Directory 配置项,目的是用来控制文件夹的访问权限.我们也可以使用一个独立的文件来控制文件某文件夹的访问权限,该文件名必须是: .htaccess

注意:

1.只有后缀和点号(无文件名部分);

2.该文件必须放在要被控制访问权限的文件夹中(不同的文件夹可以放不同的该文件);

3.其"上级文件夹"(通常是Directory设定中的文件夹)必须使用如下代码允许 .htaccess发挥作用:

AllowOverride All

4.  .htaccess 文件中出现代码,几乎可以跟Directory设定出现的代码一样;

5.如果 .htaccess 文件有效,则其设置会覆盖上级设置;

6.此.htaccess文件修改后可以立即发挥作用,无需重启apache.

6.目录别名设置Alias

      在一个站点中,如果不存在某个文件夹(目录),我们可以通过配置项,来做到"对外"看起来却存在一样,比如:

http://www.dachongzi.com/phpmyadmin/           假设站点中不存在 phpadmin 目录

但是我们可以让该地址"可访问",这就是目录别名(虚拟目录)

打开 /opt/lampp/etc/extra/httpd-xampp.conf 我们能看到相关设置:

7.多站点配置

      首先,在/opt/etc/httpd.conf 中打开多站点配置文件:

      

对httpd-vhosts.conf文件修改进行多站点配置:

#设置 www.dachongzi.com 站点
<VirtualHost *:80>ServerName www.dachongzi.com#设置主机别名,即用该别名也可以访问(前提是域名解析正确)ServerAlias dachongzi.com#设置主机目录DocumentRoot "/opt/lampp/htdocs/myweb"#下一行的文件夹路径要跟上一行的DocumentRoot一样<Directory "/opt/lampp/htdocs/myweb">Options IndexesAllowOverride AllOrder allow,denyallow from alldeny from 192.168.3.33DirectoryIndex index.php page1.php page2.php</Directory>
</VirtualHost>

经测试,多站点配置成功起作用!


      下部分,将通过大量的php示例从简单到复杂探索php

Linux下PHP开发之旅-2.开发环境相关设置探索相关推荐

  1. Linux下轻松理解防火墙的工作原理及相关设置(三)firewalld服务、包括Direct Rules 和Rich Rules (地址伪装和转发)

    文章目录 firewalld概述 firewall和iptables的不同 firewalld常用命令 firewalld基本管理 1.图形化操作 firewall-config 2.命令化操作 火墙 ...

  2. linux6.8设置中文界面,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面

    原标题:Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面 来自:https://www.linuxmi.com/linux-kodi-18-8.html Kodi团队刚刚发布了XB ...

  3. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  4. linux下kodi安装目录,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面

    原标题:Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面 来自:https://www.linuxmi.com/linux-kodi-18-8.html Kodi团队刚刚发布了XB ...

  5. linux kodi 设置中文,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面

    原标题:Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面 来自:https://www.linuxmi.com/linux-kodi-18-8.html Kodi团队刚刚发布了XB ...

  6. Linux下使用gnome-terminal命令一键开启工作环境

    Linux下使用gnome-terminal命令一键开启工作环境 文章目录 Linux下使用gnome-terminal命令一键开启工作环境 前言 gnome-terminal使用指南 gnome-t ...

  7. linux 查看进程变量,Linux下查看进程(程序)启动时的环境变量

    Linux下查看进程(程序)启动时的环境变量 Linux的pargs ==================================== 今天又遇到一个老问题: 同事遇到了sqlplus &qu ...

  8. linux下查找进程及终止进程操作的相关命令

    转自http://hi.baidu.com/mcspring/item/b638a9288e2d3fcfdcf69a8e 使用linux操作系统,难免遇到一些软件"卡壳"的问题,这 ...

  9. kodi linux版本,Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面

    原标题:Linux下安装多媒体中心 Kodi 18.8 新版本并设置中文界面 来自:https://www.linuxmi.com/linux-kodi-18-8.html Kodi团队刚刚发布了XB ...

最新文章

  1. 聊天截图厚码也不安全,大神写了算法分分钟给你还原
  2. android ndk r8d,(Android) NDK
  3. 0421 版本适配和本地化
  4. SAP ABAP报表依赖设计原理详解
  5. vs未指定启动文件_高效开发利器之自定义模板文件
  6. [ARM-Linux开发] 主设备号--驱动模块与设备节点联系的纽带
  7. note_maven的pom.xml部分配置说明
  8. 【LeetCode】【HOT】208. 实现 Trie (前缀树)
  9. 电脑怎么彻底删除软件_电脑强力卸载工具,删除电脑无用软件,让电脑更加快捷顺畅...
  10. 商务高端、CPU要求高-笔记本选型
  11. shell中算术运算、相加减
  12. 深度学习面试专用:深度学习500问;文字版吴恩达深度学习,机器学习
  13. 计算机上什么键有存储,电脑保存的快捷键是什么_电脑知识
  14. Metasploit扫描漏洞模块
  15. Excel 冻结窗格
  16. Linux centos安装chromium
  17. 2020Android不死我不倒,作为一个程序员,你觉得最大的悲哀是什么?
  18. 已知两个向量的夹角和其中一个向量,求另一个向量
  19. 关于sql语句左连接(右连接)与条件同时存在的总结
  20. 向来痴,从此醉,先生一路走好。

热门文章

  1. iOS8开发之 PHAsset 保存图片到相册(相机胶卷) 详解三
  2. 打开QQ空间的默认浏览器被改了怎么办
  3. win10 驱动无法安装 系统找不到指定文件
  4. python 魔兽世界升级脚本_Python 实现数据库更新脚本的生成方法
  5. kali Linux各工具功能简介
  6. QGraphicsView绘画曲线注意点(二)
  7. 淘宝API商品优惠券信息接入方案
  8. tp5引入第三方类 实现获取音频(.mp3)文件时长。
  9. photoshop去除文字_如何在Photoshop中去除粉刺和其他瑕疵
  10. 【Front Plant Sci】BrMYB2调控大白菜和拟南芥发育过程中花青素生物的合成机制