feat: add Apache server support with configuration templates and IPC management logic
This commit is contained in:
@@ -5,6 +5,6 @@ Alias /{{HOST}} "{{PATH}}"
|
||||
Require all granted
|
||||
|
||||
<FilesMatch \.php$>
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}"
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}/"
|
||||
</FilesMatch>
|
||||
</Directory>
|
||||
|
||||
@@ -2,7 +2,6 @@ Define SRVROOT "{{SRVROOT}}"
|
||||
|
||||
Listen {{LISTEN_ADDRESS}}:{{PORT}}
|
||||
|
||||
LoadModule mpm_winnt_module modules/mod_mpm_winnt.so
|
||||
LoadModule authz_core_module modules/mod_authz_core.so
|
||||
LoadModule authz_host_module modules/mod_authz_host.so
|
||||
LoadModule dir_module modules/mod_dir.so
|
||||
@@ -47,13 +46,13 @@ Alias /phpmyadmin "{{PHPMYADMIN_DIR}}"
|
||||
Require all granted
|
||||
|
||||
<FilesMatch \.php$>
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}"
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}/"
|
||||
</FilesMatch>
|
||||
</Directory>
|
||||
|
||||
# Global PHP handler
|
||||
<FilesMatch \.php$>
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}"
|
||||
SetHandler "proxy:fcgi://127.0.0.1:{{PHP_PORT}}/"
|
||||
</FilesMatch>
|
||||
|
||||
# Project configurations
|
||||
|
||||
@@ -43,7 +43,8 @@ async function rebuildNginxConfig(forceProjects: boolean = false): Promise<{ bin
|
||||
const binPath = path.join(nginxPrefix, isWindows ? 'nginx.exe' : 'nginx')
|
||||
const confDir = path.join(nginxPrefix, 'conf')
|
||||
const logDir = path.join(configService.getBasePath(), 'logs')
|
||||
const rootPath = path.join(app.getAppPath(), 'www')
|
||||
const rootPath = path.join(configService.getBasePath(), 'www')
|
||||
if (!fs.existsSync(rootPath)) fs.mkdirSync(rootPath, { recursive: true })
|
||||
|
||||
// Ensure directories exist
|
||||
const projectsConfDir = path.join(configService.getBasePath(), 'generated_configs', 'projects')
|
||||
@@ -155,7 +156,8 @@ async function rebuildApacheConfig(forceProjects: boolean = false): Promise<{ bi
|
||||
|
||||
const apacheRoot = path.dirname(path.dirname(binPath)) // bin'in üstü
|
||||
const logDir = path.join(configService.getBasePath(), 'logs')
|
||||
const rootPath = path.join(app.getAppPath(), 'www')
|
||||
const rootPath = path.join(configService.getBasePath(), 'www')
|
||||
if (!fs.existsSync(rootPath)) fs.mkdirSync(rootPath, { recursive: true })
|
||||
|
||||
// Ensure directories exist
|
||||
const projectsConfDir = path.join(configService.getBasePath(), 'generated_configs', 'projects_apache')
|
||||
|
||||
@@ -1357,11 +1357,13 @@ function App(): JSX.Element {
|
||||
<EditIcon fontSize="small" />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
<Tooltip title="Nginx Ayarları">
|
||||
<IconButton size="small" onClick={() => handleOpenProjectNginxConfig(project.host)} sx={{ color: 'rgba(255,255,255,0.4)', '&:hover': { color: '#39A7FF' } }}>
|
||||
<TerminalIcon fontSize="small" />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
{project.serverType !== 'apache' && (
|
||||
<Tooltip title="Nginx Ayarları">
|
||||
<IconButton size="small" onClick={() => handleOpenProjectNginxConfig(project.host)} sx={{ color: 'rgba(255,255,255,0.4)', '&:hover': { color: '#39A7FF' } }}>
|
||||
<TerminalIcon fontSize="small" />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
)}
|
||||
<Tooltip title="Sil">
|
||||
<IconButton size="small" onClick={() => handleRemoveProject(project.id)} sx={{ color: 'rgba(255,255,255,0.4)', '&:hover': { color: '#ff4444' } }}>
|
||||
<DeleteIcon fontSize="small" />
|
||||
|
||||
Reference in New Issue
Block a user