要求
参照Core/Install.txt:
Prerequisites:
- PHP 7.0.8 (or greater) (https://php.net).
下载drupal文件:
Download and extract the Drupal package:
- curl -sS https://ftp.drupal.org/files/projects/drupal-x.y.z.zip --output drupal-x.y.z.zip
- unzip drupal-x.y.z.zip
- cd /path/to/drupal-x.y.z
- php core/scripts/drupal quick-start
相比 Drupal 7.x 多了这个自启动的php服务,有点类似node的功能
其他需求:
- A web server with PHP support, for example:
- Apache 2.0 (or greater) (http://httpd.apache.org/).
- Nginx 1.1 (or greater) (http://nginx.com/).
- PHP 7.0.8 (or greater) (http://php.net/). For better security support it is
recommended to update to at least 7.2.17. - One of the following databases:
- MySQL 5.5.3 (or greater) (http://www.mysql.com/).
- MariaDB 5.5.20 (or greater) (https://mariadb.org/). MariaDB is a fully
compatible drop-in replacement for MySQL. - Percona Server 5.5.8 (or greater) (http://www.percona.com/). Percona
Server is a backwards-compatible replacement for MySQL. - PostgreSQL 9.1.2 (or greater) (http://www.postgresql.org/).
- SQLite 3.7.11 (or greater) (http://www.sqlite.org/).
这里我们选择nginx + mariadb的简单配置。
两个都通过brew install:
brew install mariadb
brew install nginx
安装完了开始配置:
配置数据库
mariaDB参考core/INSTALL.mysql.txt,
- 先通过mysqladmin创建下数据库,当然前提是有root的账号密码;
mysqladmin -u <username> -p create <databasename>
- 登录mysql开始配置权限
mysql -u <username> -p
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
CREATE TEMPORARY TABLES ON databasename.*
TO 'username'@'localhost' IDENTIFIED BY 'password';
配置nginx
nginx安装完的配置信息如下:
Docroot is: /usr/local/var/www
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/nginx/servers/.
To have launchd start nginx now and restart at login:
brew services start nginx
Or, if you don't want/need a background service you can just run:
nginx
上面只是如何启动,下面就来看看nginx是如何配置的:
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/
这是nginx官网推荐的drupal的配置文件,很多网站,比如drupal早期的贡献者亚艾元软件就推出了自己的nginx配置方案。不过在之前需要安装php-fpm
nginx启动
sudo /usr/local/nginx/nginx (nginx二进制文件绝对路径,可以根据自己安装路径实际决定)
nginx 管理
nginx从容停止命令,等所有请求结束后关闭服务
ps -ef |grep nginx
kill -QUIT nginx主进程号
nginx 快速停止命令,立刻关闭nginx进程
ps -ef |grep nginx
kill -TERM nginx主进程号
如果以上命令不管用,可以强制停止
kill -9 nginx主进程号
方案二
如果觉得在mac本地配置一套完整的php开发环境特别麻烦,就可以使用某些集成工具,比如XAMPP就是一个php的虚拟集成环境,下载安装好后启动下服务
image.png
然后把文件夹挂载下:默认是在桌面的xampp磁盘,记住,这是可以直接导入到vscode等编辑器中的,就像普通的文件夹一样。接下来自己部署下数据库,解压缩drupal文件夹就好啦,非常简单。等到开发完成,把数据库和drupal文件夹分别导出就可以在线上服务器部署了。
方案三
使用Acquia Dev Desktop,一般说来好的要留到最后,acquia就是,不仅仅帮你配置好了php的所有环境,连drupal的安装和配置都帮你一键完成了。非常适合新手学习使用.
image.png
官网推荐的ddev的docker镜像也很不错,有空的小伙伴可以试下,欢迎在评论区留言。
网友评论