使用 Laravel 快速构建网站系列 —— 拖拽式生成CMS和在线商店:Microweber

home-microweber-screenshot

1、简介

Microweber是新一代的CMS生成工具,允许你使用拖拽方式创建网站、操作内容以及管理页面布局,而不需要你有任何编码能力!

2、官网

官网: https://microweber.com
演示:Demo

3、Github

https://github.com/microweber/microweber

4、系统要求

  • HTTP服务器(Apache、IIS、Nginx等)
  • 数据库服务器(支持MySQL、SQLite、SQL Server和PostgreSQL)
  • PHP >= 5.4,并且安装了lib-xml,GD和Mcrypt扩展

5、安装

1)直接下载zip包解压:点此下载

2)通过Composer安装:composer create-project microweber/microweber my_site dev-master –prefer-dist –no-dev

3)通过Github仓库安装:先克隆代码到本地,然后运行composer install

安装完成后,需要配置以下文件夹的可写权限:

  • config
  • src
  • storage
  • userfiles

6、快速上手

安装完成在浏览器中访问Microweber,这里我们为其配置了一个虚拟域名microweber.app,在浏览器中访问http://microweber.app/,进入初始设置页面:

Microweber安装页面

这里需要配置数据库和后台用户信息,配置完成后点击右下角的“Install”按钮执行安装,安装完成后即可进入登录页面:

Microweber登录页面

输入刚才设置的后台用户名及密码,Language一项选择“ZH-CN”,然后点击“Login”按钮,登录成功后会跳转到后台页面:

Microweber后台管理页面

目前还没有什么内容,我们可以点击右上角的“在线编辑”按钮进入编辑页面,在这里我们可以通过所见即所得的方式编辑前台页面:

Microweber在线编辑

在“站点”里,我们也可以编辑各种功能模块:

Microweber功能编辑

在“设置”里我们可以编辑站点信息:

Microweber站点设置

在“登录&注册”中我们可以编辑登录方式:

Microweber登录方式设置

在“商店”里我们可以设置支付方式:

Microweber支付方式设置

更多功能和玩法等待你去挖掘,推荐大家安装一个来玩玩,对开发者而言,更多技术细节请参考官方指南

学院君 has written 703 articles

资深PHP工程师,Laravel学院院长

30 thoughts on “使用 Laravel 快速构建网站系列 —— 拖拽式生成CMS和在线商店:Microweber

  1. 王俊栋 says:

    PDOException in Connector.php line 55: SQLSTATE[HY000] [1049] Base ‘cms’ inconnue in Connector.php line 55 at PDO->__construct(‘mysql:host=localhost;dbname=cms’, ‘root’, ”, array(‘0’, ‘2’, ‘0’, false, false)) in Connector.php line 55 at Connector->createConnection(‘mysql:host=localhost;dbname=cms’, array(‘driver’ => ‘mysql’, ‘host’ => ‘localhost’, ‘database’ => ‘cms’, ‘username’ => ‘root’, ‘password’ => ”, ‘charset’ => ‘utf8’, ‘collation’ => ‘utf8_unicode_ci’, ‘prefix’ => ”, ‘strict’ => false, ‘name’ => ‘mysql’), array(‘0’, ‘2’, ‘0’, false, false)) in MySqlConnector.php line 22 at MySqlConnector->connect(array(‘driver’ => ‘mysql’, ‘host’ => ‘localhost’, ‘database’ => ‘cms’, ‘username’ => ‘root’, ‘password’ => ”, ‘charset’ => ‘utf8’, ‘collation’ => ‘utf8_unicode_ci’, ‘prefix’ => ”, ‘strict’ => false, ‘name’ => ‘mysql’)) in ConnectionFactory.php line 60 at ConnectionFactory->createSingleConnection(array(‘driver’ => ‘mysql’, ‘host’ => ‘localhost’, ‘database’ => ‘cms’, ‘username’ => ‘root’, ‘password’ => ”, ‘charset’ => ‘utf8’, ‘collation’ => ‘utf8_unicode_ci’, ‘prefix’ => ”, ‘strict’ => false, ‘name’ => ‘mysql’)) in ConnectionFactory.php line 49 at ConnectionFactory->make(array(‘driver’ => ‘mysql’, ‘host’ => ‘localhost’, ‘database’ => ‘cms’, ‘username’ => ‘root’, ‘password’ => ”, ‘charset’ => ‘utf8’, ‘collation’ => ‘utf8_unicode_ci’, ‘prefix’ => ”, ‘strict’ => false, ‘name’ => ‘mysql’), ‘mysql’) in DatabaseManager.php line 175 at DatabaseManager->makeConnection(‘mysql’) in DatabaseManager.php line 67 at DatabaseManager->connection(‘mysql’) in Model.php line 3245 at Model::resolveConnection(null) in Model.php line 3211 at Model->getConnection() in Model.php line 1914 at Model->newBaseQueryBuilder() in Model.php line 1857 at Model->newQueryWithoutScopes() in Model.php line 1831 at Model->newQuery() in Model.php line 736 at Model::with(array(‘children’)) in ClientController.php line 32 at ClientController->index(object(ArticleCat), object(Request)) at call_user_func_array(array(object(ClientController), ‘index’), array(object(ArticleCat), object(Request))) in Controller.php line 256 at Controller->callAction(‘index’, array(object(ArticleCat), object(Request))) in ControllerDispatcher.php line 164 at ControllerDispatcher->call(object(ClientController), object(Route), ‘index’) in ControllerDispatcher.php line 112 at ControllerDispatcher->IlluminateRouting{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139 at Pipeline->IlluminatePipeline{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102 at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 114 at ControllerDispatcher->callWithinStack(object(ClientController), object(Route), object(Request), ‘index’) in ControllerDispatcher.php line 67 at ControllerDispatcher->dispatch(object(Route), object(Request), ‘AppHttpControllersclientClientController’, ‘index’) in Route.php line 203 at Route->runWithCustomDispatcher(object(Request)) in Route.php line 134 at Route->run(object(Request)) in Router.php line 704 at Router->IlluminateRouting{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139 at Pipeline->IlluminatePipeline{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102 at Pipeline->then(object(Closure)) in Router.php line 706 at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 669 at Router->dispatchToRoute(object(Request)) in Router.php line 631 at Router->dispatch(object(Request)) in Kernel.php line 236 at Kernel->IlluminateFoundationHttp{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139 at Pipeline->IlluminatePipeline{closure}(object(Request)) in ShareErrorsFromSession.php line 49 at ShareErrorsFromSession->handle(object(Request), object(Closure)) at call_user_func_array(array(object(ShareErrorsFromSession), ‘handle’), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->IlluminatePipeline{closure}(object(Request)) in StartSession.php line 62 at StartSession->handle(object(Request), object(Closure)) at call_user_func_array(array(object(StartSession), ‘handle’), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->IlluminatePipeline{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) at call_user_func_array(array(object(AddQueuedCookiesToResponse), ‘handle’), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->IlluminatePipeline{closure}(object(Request)) in EncryptCookies.php line 59 at EncryptCookies->handle(object(Request), object(Closure)) at call_user_func_array(array(object(EncryptCookies), ‘handle’), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->IlluminatePipeline{closure}(object(Request)) in CheckForMaintenanceMode.php line 42 at CheckForMaintenanceMode->handle(object(Request), object(Closure)) at call_user_func_array(array(object(CheckForMaintenanceMode), ‘handle’), array(object(Request), object(Closure))) in Pipeline.php line 124 at Pipeline->IlluminatePipeline{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 102 at Pipeline->then(object(Closure)) in Kernel.php line 122 at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87 at Kernel->handle(object(Request)) in index.php line 53

  2. 大肚嘿 says:

    PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20151012/php_curl.dll’ – /usr/lib/php/20151012/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20151012/php_mbstring.dll’ – /usr/lib/php/20151012/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0Loading composer repositories with package informationInstalling dependencies (including require-dev) from lock fileWarning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.Your requirements could not be resolved to an installable set of packages. Problem 1 – Installation request for guzzle/guzzle 3.9.x-dev -> satisfiable by guzzle/guzzle[3.9.x-dev]. – guzzle/guzzle 3.9.x-dev requires ext-curl * -> the requested PHP extension curl is missing from your system. Problem 2 – Installation request for guzzle/guzzle dev-master -> satisfiable by guzzle/guzzle[dev-master]. – guzzle/guzzle dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system. Problem 3 – guzzle/guzzle 3.9.x-dev requires ext-curl * -> the requested PHP extension curl is missing from your system. – omnipay/common v2.3.4 requires guzzle/guzzle ~3.9 -> satisfiable by guzzle/guzzle[3.9.x-dev]. – Installation request for omnipay/common v2.3.4 -> satisfiable by omnipay/common[v2.3.4]. To enable extensions, verify that they are enabled in those .ini files: – /etc/php/7.0/cli/php.ini – /etc/php/7.0/cli/conf.d/10-mysqlnd.ini – /etc/php/7.0/cli/conf.d/10-opcache.ini – /etc/php/7.0/cli/conf.d/10-pdo.ini – /etc/php/7.0/cli/conf.d/15-xml.ini – /etc/php/7.0/cli/conf.d/20-calendar.ini – /etc/php/7.0/cli/conf.d/20-ctype.ini – /etc/php/7.0/cli/conf.d/20-dom.ini – /etc/php/7.0/cli/conf.d/20-exif.ini – /etc/php/7.0/cli/conf.d/20-fileinfo.ini – /etc/php/7.0/cli/conf.d/20-ftp.ini – /etc/php/7.0/cli/conf.d/20-gd.ini – /etc/php/7.0/cli/conf.d/20-gettext.ini – /etc/php/7.0/cli/conf.d/20-iconv.ini – /etc/php/7.0/cli/conf.d/20-json.ini – /etc/php/7.0/cli/conf.d/20-mbstring.ini – /etc/php/7.0/cli/conf.d/20-mcrypt.ini – /etc/php/7.0/cli/conf.d/20-mysqli.ini – /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini – /etc/php/7.0/cli/conf.d/20-phar.ini – /etc/php/7.0/cli/conf.d/20-posix.ini – /etc/php/7.0/cli/conf.d/20-readline.ini – /etc/php/7.0/cli/conf.d/20-shmop.ini – /etc/php/7.0/cli/conf.d/20-simplexml.ini – /etc/php/7.0/cli/conf.d/20-sockets.ini – /etc/php/7.0/cli/conf.d/20-sysvmsg.ini – /etc/php/7.0/cli/conf.d/20-sysvsem.ini – /etc/php/7.0/cli/conf.d/20-sysvshm.ini – /etc/php/7.0/cli/conf.d/20-tokenizer.ini – /etc/php/7.0/cli/conf.d/20-wddx.ini – /etc/php/7.0/cli/conf.d/20-xmlreader.ini – /etc/php/7.0/cli/conf.d/20-xmlwriter.ini – /etc/php/7.0/cli/conf.d/20-xsl.ini You can also run `php –ini` inside terminal to see which files are used by PHP in CLI mode.

  3. Meroc Chen says:

    安装过程中一直有sql方面的报错,导致无法进行,一开始是一个timestamp默认值类型的报错,我改了下,之后还有类似于:production.ERROR: exception ‘PDOException’ with message ‘SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘microweb.local_modules.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by’ in /Users/merocchen/merocZone/project/php/microweber/vendor/laravel/framework/src/Illuminate/Database/Connection.php:319这样的,我的数据库是 mysql5.6.24的,应该符合系统配置要求呀,请问这个问题是不是有说明,我不想把全部的sql都找出来改一遍啊

发表评论

标记为*的字段是必填项(邮箱地址不会被公开)

你可以使用这些HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>