0.0.0 apache2 配置文件
apache 的普通发行版配置文件都是 httpd.conf
然而在ubuntu(以v14.04为例)的版本里,却是分散开的。
在配置目录里的主配置文件叫做apache2.conf
它通过 inlude 将其他相关文件包含进来(比如.\sites-available\000-default)
配置时,可以把其他无关的比如site-available注释掉,自己新建一个httpd.conf,然后在apache2.conf里添加
Include httpd.conf
在httpd.conf文件里少不得加上
Servername 127.0.0.1
DocumentRoot xxxxx
注意:目录表示需要绝对路径,也不能用“~/“表示当前用户主目录
0.0.0.0开启目录浏览
修改文件
/etc/apache2/apache.conf
找到服务器根目录行
<Directory />
将下面的
Options FollowSymbolic
改为
Options Indexes FollowSymbolic
然而此时仍然不行,当所浏览的目录里有与apache配置文件里默认首页重名的文件(index.html,index.php etc)时,仍然无法开启目录浏览。
可以注释掉配置里的默认首页名
对于非Ubuntu的Linux
修改apache默认主页要修改两个文件:
/httpd/conf/httpd.conf
/httpd/conf.d/php.conf (index.php覆盖了httpd.conf)
其余诸如.cgi .hml如果有的话也相应修改
对于Ubuntu
假设我们的apache配置目录是/etc/apache2
/etc/apache2/mods-enabled/dir.conf: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
/etc/apache2/mods-available/dir.conf: DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
修改这两个文件的 DirectoryIndex 后的文件名。
通用
假设我们的apache配置目录是/etc/apache2
-i:包括链接
-r:递归查找
grep -iR DirectoryIndex /etc/apache2
查看 DirectoryIndex 在apache2哪个文件里面。
重启命令
sudo /etc/init.d/apache2 restart
还有一个其他博文里反复抄袭的一点,sites-enabled 文件夹里的配置文件其实是指向sites-available文件夹里配置文件的链接,而本体文件必须依靠链接才起作用。
最后可能需要把apache服务器根目录下的Index.html删掉
0.0.1 配置php mail函数
其实也是配置系统函数mail的过程
0.0.1.0只是发邮件的话可以利用外部的SMPT服务器,详情参照以下博文(居然也是转发)
http://blog.csdn.net/chb2000/article/details/6326500
0.0.1.1但我们显然是想利用本机作为SMTP服务器(Ubuntu为例)
0.0.1.1.0首先安装mail 功能 and sendmail组件
mail功能
sudo apt-get install mailutils
sudo apt-get install sharutils
sendmail组件
sudo apt-get install sendmail
sudo apt-get install sendmail-cf
0.0.1.1.1 修改mail配置,使发送方不限于本地用户,而是整个Internet
修改文件
/etc/mail/sendmail.mc
找到如下一行
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')
将Addr的值修改为 0.0.0.0
执行如下操作
mv sendmail.cf sendmail.cf~ //做一个备份
m4 sendmail.mc > sendmail.cf //生成新的配置文件(m4 是一个宏处理器,Ubuntu默认安装了)
0.0.1.1.2 修改域名、主机名,使邮件成功发送
1、假设我们的域名叫做 ming.com (如果不是真实的服务器,域名爱怎么写怎么写,只是别人无法从外网访问而已)(但是话虽这样讲,随便写也要写成一个域名格式的,否则服务启动速度很慢)
2. 假设我们的主机名为 zhuang-virtual-machine
修改文件
/etc/mail/local-host-names
找到包含如下内容,但可能不是其全部内容的一行
127.0.0.1 localhost
改为
127.0.0.1 ming.com localhost zhuang-virtual-machine
修改文件
/etc/mail/access
找到如下一行
Connect:localhost RELAY
在其下添加一行内容如下:
Connect:ming.com
修改文件
/etc/mail/local-host-names
添加一行:
ming.com
重启sendmail 服务
sudo service sendmail restart
0.0.1.1.3用mail发送邮件进行测试
常用发送邮件方式如下:
假设我们的测试邮箱为:test@126.com
1.如何写一般的邮件: mail test@126.com Cc 编辑抄送对象,Subject:邮件主题,输入回车,邮件正文后,按Ctrl-D结束
2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 test@126.com
3.以文件内容作为邮件正文来发送: mail -s test test@126.com < test.txt
4.发送带附件的邮件: uuencode 附件名称 附件显示名称 | mail -s 邮件主题 发送地址
例如: uuencode test.txt test.txt | mail -s Test test@126.com
查看接收到的邮件用
mail
输入邮件的序号进行查看
0.0.1.1.4 php方面的配置
修改php配置文件(目录大概并不完全相同,总之就是php目录下的 apache2分目录下或主目录下的 php.ini文件)
/etc/php5/apache2/php.ini
仔细找到如下一行
;sendmail_path=
将分号去掉,改为如下内容
sendmail_path=/usr/sbin/sendmail -i -t
多参数,少参数都不行
重启php进程(如果还在运行的话)
一般是:service php restart
LNMP是:service php-fpm restart
Apache下可以:service httpd restart
测试文本,放到apache服务器工作目录
<?php
$send = mail('test@126.com','TEST','Can you receive Me?');
if($send){
echo 'send email successful!';
}
else{
echo 'send mail failed';
}
?>
1.0.0 MySQL 安装使用
1.0.0.0MySQL 安装
sudo apt-get install mysql-server mysql-client
安装过程会提示输入root用户的密码,这里假设密码是123456
1.0.0.1终端登陆
以root账户登陆
mysql -u root -p
123456
注:-p123456 可以直接登录 ,但密码与-p参数之间不能有空格
1.0.0.2创建一个数据库
假设数据库名为 aliendb(外星人数据库)
create database aliendb;
选中这个数据库
use aliendb;
创建表
create table alien_table (
name varchar(30),
how_they_did varchar(50)
);
1.0.0.3新建普通用户
假设用户名是 ming
假设密码是 123456
假设只允许从本地登录 localhost(允许任何任何外机是%)
insert into mysql.user(Host,User,Password) values ('localhost','ming',password('123456');
password()将明文密码转为哈希值
然而
1. 修改用户,修改权限等操作之后,必须手动刷新
flush privileges
否则会出现诸如 Error (1133): Can’t find any matching row in the user table 等错误
2.
exit
退出后,重新用ming 重新登录发现错误,ERROR 1045 (28000): Access denied for user ‘ming’@’localhost’ (using password: YES)
原因比较细节请参照这篇博文
就是需要赋予新建用户ming某个数据库上的权限
只好用root重新登录,然后赋予权限
grant select,insert,update,delete on aliens_abduction.* to ming@localhostidentified by '123456';
MySQL 赋予用户权限命令语法为:
grant 权限 on 数据库对象 to 用户;
grant 权限 on 数据库对象 to 用户 identified by “密码”;
grant 权限 on 数据库对象 to 用户@”ip” identified by “密码”
查看MySQL 用户权限:
show grants for ming@localhost;
仍然不要忘记刷新,之后ming就可以登陆了。
所以推荐直接用grant 创建新用户
grant select,update on *.* to 'ming'@'localhost' identified by password('123456');
详情参见这里
2.0.0php5安装使用
2.0.0.0 php5安装
2.0.0.1 php5使用(结合MySQL)
Care:php中的sql查询语句最后可以加分号,也可以不加