Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!
Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив
- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I
Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!
Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!
Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!
Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.
Задайте питання в службу підтримки 24/7/365
Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями
Що таке CakePHP?
CakePHP - це потужний і надійний PHP-фреймворк, заснований на архітектурі Model-View-Controller (MVC, або «Модель-Представлення-Контролер»). Він дуже гнучкий, що дозволяє прискорити і спростити процес розробки; крім того, фреймворк надає базову структуру для організації імен файлів, класів і таблиць бази даних, завдяки чому розробка проекту залишається послідовною і логічною від початку і до кінця.
Мінімальні вимоги CakePHP: веб-сервер і PHP 5.2.8+. Хоча даний фреймворк, як правило, запускають на Apache, він також відмінно працює на інших веб-серверах (як Lighttpd або Microsoft IIS). Оскільки бази даних є невід'ємною частиною більшості веб-додатків, CakePHP підтримує ряд СУБД, таких як MySQL, PostgreSQL, Microsoft SQL або SQLite (з розширеннями PDO).
Даний посібник покаже, як встановити та почати роботу з CakePHP. Для цього знадобляться налаштовані хмарний сервер і веб-сервер. Всі дії керівництва виконані в операційній системі Ubuntu на веб-сервері Apache (+ PHP і MySQL).
установка CakePHP
Існує кілька способів установки CakePHP на віртуальний виділений сервер. Можна завантажити і розпакувати архів з сайту CakePHP, клонувати реліз фреймворку з Github за допомогою Git або ж використовувати бібліотеку PEAR. В даному випадку зручніше скористатися першим способом установки CakePHP (з сайту проекту), оскільки він найпростіший.
Отже, для початку потрібно завантажити останню стабільну версію фреймворку (посилання можна знайти на головній сторінці сайту CakePHP) і розпакувати отриманий архів в окрему папку. Перейдіть в root папку веб-сервера і скачайте архів:
Це завантажить zip-файл з релізом. Тепер його потрібно розпакувати. Якщо інструмент unzip ще не встановлено, виконайте наступну команду, щоб швидко встановити його:
sudo apt-get install unzip
Тепер можна розпакувати архів (скачавши іншу версію фреймворку, не забудьте замінити ім'я файлу):
Повинна з'явитися нова папка, що містить всі файли CakePHP. Перейменуйте її, вибравши більш зручне ім'я (наприклад, project):
mv cakephp-cakephp-4b9e390 project
Отже, на даний момент CakePHP завантажений і знаходиться в папці / var / www / project.
Тепер потрібно змінити права доступу до папки app / tmp; CakePHP потрібно буде виконати в ній деякі дії, тому веб-сервер повинен мати право на запис у ній. Для Apache запустіть наступні команди в папці / var / www / project:
cd project
chown -R root: www-data app / tmp
chmod -R 775 app / tmp
Це змінить власника папки, передавши всі права користувачеві root і папці www-data (в яку також входить користувач www-data, який використовується Apache для запуску процесів). Друга команда встановлює права на папку таким чином, щоб група www-data могла вносити в неї зміни.
Якщо з'явився список містить rewrite_module, модуль вже включений. В іншому випадку використовуйте команду:
Далі потрібно відредагувати віртуальний хост Apache за замовчуванням і задати рядку AllowOverrides значення All для каталогу / var / www (якщо це не було зроблено раніше). Відкрийте файл для редагування за допомогою наступної команди:
Знайдіть такий блок коду і внесіть в нього відповідні зміни:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow, deny
allow from all
Тепер файли .htaccess можуть перевизначати інструкції Apache за замовчуванням.
Примітка. після внесення будь-яких змін в налаштування Apache необхідно перезапустити веб-сервер:
sudo service apache2 restart
Додаткові налаштування
Відредагуйте файл core.php, розташований в папці app / Config; знайдіть в ньому наступний блок коду:
/ **
* A random string used in security hashing methods.
* /
Configure :: write ( 'Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
/ **
* A random numeric string (digits only) used to encrypt / decrypt strings.
* /
Configure :: write ( 'Security.cipherSeed', '+76859309657453542496749683645');
В цілому, на різних серверах рядки і числа можуть відрізнятися; але встановити нові значення, які неможливо вгадати, потрібно саме в цьому розділі коду. Переконайтеся, що рядок cipherSeed містить тільки цифри.
Збережіть і закрийте файл.
Підключення до бази даних
Хоча база даних не є обов'язковим компонентом CakePHP, більшості веб-додатків БД необхідна для зберігання інформації. На даному етапі потрібно налаштувати підключення до бази даних MySQL.
Отже, створіть БД з деяким контентом і повідомте про неї CakePHP (ця БД знадобиться для виконання наступного керівництва, в якому мова йде про розробку простого прикладу додатки). Бази даних з однією таблицею з 5 стовпців буде досить; стовпці повинні містити ідентифікатор, назва, текст, а також дати створення і зміни, тому їм потрібно присвоїти відповідні імена: id, title, body, created, modified. Перший стовпець повинен містити ціле число з автоматичним збільшенням (AUTO_INCREMENT PRIMARY KEY); другий - VARCHAR (500); третій - текст поста (TEXT); і останні два стовпці - DATETIME.
Отже, потрібно виконати пару команд. Увійдіть в MySQL або MariaDB. Базу даних можна створити за допомогою консолі:
create database cake;
Потім в цій БД можна створити таблицю з усіма перерахованими вище стовпцями. Але спочатку потрібно підключитися до бази даних:
Тепер створіть таблицю:
Потім внесіть в неї контент:
Ця команда внесе в таблицю новий рядок.
Тепер потрібно налаштувати CakePHP, щоб фреймворк міг використовувати цю БД. Спочатку потрібно перенести файл database.php.default, розташований в папці / app / Config /, і назвіть його database.php. Потім відкрийте файл і внесіть в нього наступний блок коду (замініть cakeBlog і а1b3-А2B4 своїм логіном і паролем mysql).
public $ default = array (
'Datasource' => 'Database / Mysql',
'Persistent' => false,
'Host' => 'localhost',
'Port' => '',
'Login' => 'cakeBlog',
'Password' => 'а1b3-А2B4',
'Database' => 'cake',
'Schema' => '',
'Prefix' => '',
'Encoding' => 'utf8'
);
Як бачите, потрібно просто надати свою індивідуальну інформацію про з'єднання бази даних. Збережіть файл і закрийте його. Відкрийте браузер і направте його на папку, в якій був розміщений фреймворк CakePHP при установці (в даному випадку це папка project) з root папки веб-сервера:
Повинна з'явитися домашня сторінка нової програми CakePHP; завдяки виконаній раніше налаштування всі повідомлення повинні бути зеленими (крім повідомлення про DebugKit - додаткової зовнішньої бібліотеці).
/ **
* Uncomment this line and correct your server timezone to fix
* Any date time related errors.
* /
date_default_timezone_set ( 'UTC');
Даний посібник продемонструвало процес установки і настройки CakePHP на хмарному сервері. Наступне керівництво цієї серії покаже, як створити простий додаток CakePHP, що взаємодіє з БД, створеної в ході даного уроку.