分类 Linux 下的文章

最终还是放弃了ThinkPHP,投向codeIgniter的怀抱,虽然说现在最有逼格的框架是Laravel,可是在连续两次使用Composer创建项目失败,并且看到vendor目录下令人作呕的文件目录结构以后,我想我这辈子可能都不会再想去碰Laravel了。好了,不吐嘈了。
下面是Ubuntu14.04下配置Apache2.4.7实现伪静态的过程:


- 阅读剩余部分 -

两年前在Openshift上搭建了个Ghost博客,后来一不小心忘记了密码,再也无法登陆,由于并没有给博客配置邮件服务器(在config.js文件中配置)。并且管理员邮箱也不是我的(因为是帮EX搭建的,所以用的是EX的QQ邮箱,这注定是一个悲伤的故事),通过邮件找回密码这种非常中二的思路根本不可行,只能通过修改数据库来实现密码重置,幸好当初默认选择的是sqlite数据库,现将重置密码的操作记录如下:

- 阅读剩余部分 -

在Ubuntu终端里执行安装操作时出现以下错误,提示无法锁定管理目录。
Error:

E: 无法获得锁 /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?



- 阅读剩余部分 -

决定扔掉那些集成开发环境,今后的学习和开发均在vagrant+virtual+ubuntu下完成。vagrant的搭建可以说是非常快捷了,其原理就是将依赖环境搭建在虚拟机中,然后将本地文件(宿主机)映射到虚拟机并实现访问。即便如此,在搭建过程中依然有不少的坑要填。

安装vagrant 和 virtualbox

日常的工作和学习,我基本上都是在win7和MacOS下完成的,因此使用vagrant可以帮助我非常容易的实现在不同系统下部署完全一致的开发环境。
之所以在2017年的今天还在使用Ubuntu 14.04是因为这台Win7机器下只有低于Ubuntu14.04(含)的版本的Box盒子才能正常跑起来,主要是受vagrant版本太低的限制。
win7 下应当采用vagrant 1.9.3+ Virtualbox 5.1.3的组合,否则会出现各种像无法启动box,启动box后卡在密钥验证那里无法进入系统等奇葩问题,官方给出的解释是,win7最高支持到1.9.3。
Mac 10.12 下可以直接安装最新版,直接去官网下载最新的DMG安装包安装就好。

目录设置

 └─trusty32  
     ├─.vagrant
     │  └─machines
     │  └─default
     │  └─virtualbox
     └─www   # 共享目录,宿主机文件和虚拟机同步目录

Vagrantfile配置(分配IP和共享目录)

config.vm.network "private_network", ip: "192.168.33.20" 指定虚拟机IP为 192.168.33.20

config.vm.synced_folder "./www", "/vagrant/www/", :mount_options => ["dmode=777","fmode=777"] 分配共享目录,即trusty32下的www的目录挂载在虚拟机/vagrant/www目录下。

vagrant和virtualbox的安装非常简单,不再赘述。主要记录ubuntu 14.04下搭建PHP7+Mysql+Apache2.4+Adminer的过程:

安装Apache

更新镜像源:sudo apt-get update && sudo apt-get upgrade

安装Apache2.4: sudo apt-get install apache2。安装完成在浏览器输入192.168.33.20,看到Apache2 Ubuntu Default Page: It Works!则说明Apache2安装成功。

安装 Mysql

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb 下载MYSQL5.7安装包
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb 添加到库
sudo apt-get update 更新软件源
sudo apt-get install mysql-server 安装Mysql服务

安装过程中会要求输入root密码。

安装完成后输入 mysql -uroot -p登入Mysql服务器验证是否成功安装了mysql服务

安装PHP7.0

sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mysql php7.0-readline php7.0-xml php7.0-mbstring php7.0-curl

整合

整合PHP与Mysql

sudo apt-get install php7.0-mysql

整合PHP与Apache
sudo apt-get install libapache2-mod-php7.0
重启Apache sudo service apache2 restart

验证

在apache默认网页目录下新建info.php
sudo vi info.php

<?php
echo mysqli_connect('localhost','root','root')?"数据库连接成功":"数据库连接出错";
phpinfo();

最近的开发学习全部转入了Vagrant下,不得不说vagrant真的是神器,除了首次配置麻烦点之外,迁移起来还真是方便,这里记录一下如何在一个minimal的ubuntu12.04下配置Apache2服务器的详细方法。

- 阅读剩余部分 -

网上下载的很多源码在安装的时候都需要通过Composer来安装,这类源码包里通常包含 composer.json 和 composer.lock 两个文件,其中composer.json里申明了源码在运行时所要依赖的环境组件,使用Composer来安装安装某个源码包时的好处就是可以确保在源码包安装的同时,所依赖的组件也会被安装,由此看来,composer实际上是一种依赖管理工具。

- 阅读剩余部分 -