markdown Ubuntu LAMP开发环境设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Ubuntu LAMP开发环境设置相关的知识,希望对你有一定的参考价值。
Install git:
sudo apt-get install git
Configure Git:
touch ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
git config --global user.name "Your Name"
git config --global user.email "Your Email"
ssh-keygen -t rsa -C "Your Email"
cat ~/.ssh/id_rsa.pub
(Optional) Use PHP 5.4.x:
sudo add-apt-repository ppa:ondrej/php5-oldstable
sudo apt-get update
(Optional) Use PHP 5.5.x:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
(Optional) Use PHP 5.6.x:
sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
Install apache/php:
sudo apt-get install apache2 php5 php5-cli libapache2-mod-php5 php5-dev
Ensure this worked by visiting ``http://localhost/``. You should see **It works!**.
Edit your php.ini:
sudo nano /etc/php5/cli/php.ini
1. Add a timezone
date.timezone = America/New_York
2. Turn off short tags
short_open_tag = Off
3. Increase `xdebug.max_nesting_level`
xdebug.max_nesting_level = 250
Install mysql (enter through password prompts to use use defaults):
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Install phpmyadmin (choose apache2 and enter through password prompts to use default):
sudo apt-get install phpmyadmin
Edit phpmyadmin ``config.inc.php``:
sudo nano /etc/phpmyadmin/config.inc.php
Add/edit the following (around page 42):
```php
// ...
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
$cfg['Servers'][$i]['user'] = 'root';
/* Server parameters */
// ...
```
Ensure this worked by visiting ``http://localhost/phpmyadmin``.
Install useful php modules:
sudo apt-get install php5-mcrypt php5-xdebug php5-curl php5-sqlite php5-xsl php-pear php-apc
Change php.ini directory for apache to use the same config as cli:
Edit ``/etc/apache2/mods-enabled/php5.load`` to look like the following:
PHPIniDir "/etc/php5/cli"
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Install PHPUnit:
sudo pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit
Install Composer:
sudo apt-get install curl
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Install node.js/npm:
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Install some npm modules:
sudo npm install -g bower
sudo npm install -g uglify-js
sudo npm install -g uglifycss
sudo npm install -g grunt-cli
sudo npm install -g zombie
# Appendix
## A. Configure Apache Sites
Enable Apache mods:
sudo a2enmod rewrite vhost_alias
Add Apache site:
sudo nano /etc/apache2/sites-available/dev
Add the following:
```
<VirtualHost *:80>
ServerName localhost
DocumentRoot /home/{user}/www
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.local
VirtualDocumentRoot /home/{user}/www/%1/web
</VirtualHost>
# For SSL
#<VirtualHost *:443>
# ServerAlias *.local
# VirtualDocumentRoot /home/kbond/www/%1/web
#
# SSLEngine on
# SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#</VirtualHost>
```
Enable the site:
sudo a2ensite dev
Restart Apache:
sudo apache2ctl restart
Ensure your sites are added to `/etc/hosts`:
127.0.0.1 mysite.local
## B. Enable SSL
Install ``ssl-cert``:
sudo apt-get install ssl-cert
Enable ssl and default ssl site in apache:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 restart
## C. Install Twig C Extension
Reference: http://twig.sensiolabs.org/doc/intro.html#installing-the-c-extension
Ensure `gcc` is intalled:
sudo apt-get install gcc
Then run the following:
git clone https://github.com/fabpot/Twig.git
cd Twig/ext/twig/
sudo phpize
sudo ./configure
sudo make
sudo make install
Add the following to your `php.ini`:
extension=twig.so
Restart Apache:
sudo apache2ctl restart
## D. Enable ACL
Edit your filesystem table:
sudo nano /etc/fstab
Add `acl` to the options column of `ext4`:
```
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=... / ext4 acl,errors=remount-ro 0 1
```
## E. Install icu/php-intl from source
[Download latest ICU](http://site.icu-project.org/download)
```
./configure
make
make install
```
[Download latest intl](http://pecl.php.net/package/intl)
```
phpize
./configure
make
make install
```
Add the following to your `php.ini`:
extension=intl.so
## F. Install pdo_dblib/mssql from source
**UPDATE:** on Ubuntu 14.04 and PHP 5.6 you can simply install Sybase DB:
apt-get install php5-sybase
---
[Download latest FreeTDS](http://www.freetds.org/) and compile:
```
./configure --prefix=/usr/local/freetds --with-tdsver=7.0 --enable-msdblib --with-gnu-ld
make
make install
```
[Download source for your version of php](https://github.com/php/php-src)
Compile `pdo_dblib`:
```
cd ext/pdo_dblib
phpize
./configure --with-pdo-dblib=/usr/local/freetds --with-php-config=/path/to/php-config
make
make install
```
Compile `mssql`:
```
cd ext/mssql
phpize
./configure --with-mssql=/usr/local/freetds --with-php-config=/path/to/php-config
make
make install
```
Add the following to your `php.ini`:
```
extension=pdo_dblib.so
extension=mssql.so
```
**Note**: ensure these are below `extension=pdo.so`
Ensure `dblib` it is available with:
php -r "phpinfo();" | grep "PDO drivers"
**Note**: during `./configure` if you get the error: `configure: error: Cannot find php_pdo_driver.h.`, edit the following section in the `./configure` file:
From:
```bash
if test -f $abs_srcdir/include/php5/ext/pdo/php_pdo_driver.h; then
pdo_cv_inc_path=$abs_srcdir/ext
elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
pdo_cv_inc_path=$abs_srcdir/ext
elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
pdo_cv_inc_path=$prefix/include/php/ext
fi
```
To:
```bash
pdo_cv_inc_path=/path/to/php_pdo_driver.h # mine was: /usr/include/php5/ext/pdo/php_pdo_driver.h
```
## G. Install [weasyprint](http://weasyprint.org/)
Install dependencies:
sudo apt-get install python-dev python-pip python-lxml libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0 libffi-dev libxml2-dev libxslt-dev
Install weasyprint:
sudo pip install weasyprint
## H. Install [wkhtmltopdf](http://wkhtmltopdf.org/) dependencies
sudo apt-get install libxrender1 libfontconfig1 libxtst6
以上是关于markdown Ubuntu LAMP开发环境设置的主要内容,如果未能解决你的问题,请参考以下文章