Базовое приложение, используещее tc4u. Можно использовать как основу проекта.
Настройки, маршруты, контроллеры, шаблон, контент.
Представляю инструкцию по установке и настройке:
- PHP 8.1+
- PostgreSQL 12+ или MySQL 8+
- Composer 2.0+
- Web-сервер (Apache/Nginx)
- Redis (опционально, для кеширования и хранения сессий)
git clone https://github.com/botinplace/tc4u-base.git
cd tc4u-base
composer installСоздайте файл .env:
cp .env.example .envОтредактируйте основные параметры:
# Настройки приложения
APP_ENV=production
APP_DEBUG=false
APP_URL=http://your-domain.com
URI_PREFIX=/tc4u
# База данных
DB_CONNECTION=pgsql
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=tc4u_db
DB_USERNAME=tc4u_user
DB_PASSWORD=strong_password
# Почта (пример для Gmail)
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME[email protected]
MAIL_PASSWORD=app-specific-password
MAIL_ENCRYPTION=tlsДля PostgreSQL:
sudo -u postgres psql
CREATE DATABASE tc4u_db;
CREATE USER tc4u_user WITH PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE tc4u_db TO tc4u_user;Примените миграции:
php database/migrations/migrate.php<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /path/to/tc4u-base/public
<Directory /path/to/tc4u-base/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/tc4u-error.log
CustomLog ${APACHE_LOG_DIR}/tc4u-access.log combined
</VirtualHost>server {
listen 80;
server_name your-domain.com;
root /path/to/tc4u-base/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}chmod -R 755 storage
chown -R www-data:www-data storage# .env
LDAP_ENABLED=true
AD_SERVER_1=ldap://dc1.example.com
AD_SERVER_2=ldap://dc2.example.com
AD_BASE_DN=OU=Users,DC=example,DC=com
AD_USERNAME=svc_ldap_user
AD_PASSWORD=ldap_password- Настройте SSL/TLS сертификат
- Регулярно обновляйте зависимости
- Используйте firewall
- Настройте регулярное резервное копирование
- Ограничьте доступ к
/storageи/config
Для получения дополнительной помощи обратитесь к документации в репозитории или создайте issue на GitHub.