[NHN Cloud Hosting - Linux] FTP 연결
디렉터리 구조나 파일의 위치, 이동, 삭제 등을 좀 편하게 하기 위해서 FTP를 연결해 로컬에서 관리할 수 있도록 한다.
FTP 툴은 FileZilla를 사용한다.
FileZilla를 실행하고 필요한 정보를 채운다.
호스트는 서버의 ip 주소, 사용자명과 비밀번호는 서버를 만들 때 입력했던 정보를 쓰면 된다.
포트는 FTP의 경우 기본적으로 21번 포트를 사용한다.
모든 정보를 입력하고 연결을 하면 디렉터리를 직관적으로 확인할 수 있다.
이제 GUI로 계층 구조를 직관적으로 확인할 수 있다.
FTP 사용을 하게 되면 파일을 관리하기 위해서는 읽기 뿐만 아니라 쓰기 권한도 필요하다. 서버에서 생성했던 파일은 소유자와 그룹 모두 서버에서만 사용할 수 있는 상태인데 일단 test.php를 로컬에서 변경할 것 이기 때문에 이 파일의 권한 중 그룹을 변경하고 쓰기 권한도 추가해 본다.
일단 파일들이 계속 추가될 것을 대비해서 폴더를 세분화해 둔다.
dev 경로를 생성해서 release 루트와 구분되도록 한다.
$sudo mkdir /home/username/html/dev
해당 경로로 test.php 이동
$sudo mv /home/username/html/test.php /home/username/html/dev/
test.php 권한 수정
// 읽기/쓰기 권한 부여
sudo chmod 664 /home/username/html/dev/test.php
// 소유자 , 그룹 수정
sudo chown apache:username /home/username/html/dev/test.php
php의 수정된 내용은 기존에 페이지가 열릴 때마다 테이블에 인서트 되던 것을 버튼 입력으로 처리 후 결괏값을 페이지에 반영하도록 수정했다.
<?php
// MySQL Connection
$servername = "localhost";
$username = "name";
$password = "password";
$dbname = "testdb";
//conn
$conn = new mysqli($servername, $username, $password, $dbname);
//conn check
if ($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
// data insert test (폼에서 제출 버튼 클릭 시 실행)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$sql = "INSERT INTO users (username, email) VALUES ('testuser', 'test@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully<br>";
// 테이블 데이터 출력
echo "<h3>Users Table:</h3>";
$result = $conn->query("SELECT * FROM users");
if ($result->num_rows > 0) {
echo "<table border='1'><tr><th>ID</th><th>Username</th><th>Email</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["username"]. "</td><td>" . $row["email"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>
<!-- 폼 추가 -->
<form method="POST" action="">
<button type="submit">Submit</button>
</form>
로컬에서 수정한 test.php를 ftp를 사용해서 파일을 덮어쓰기 해본다.
이전에는 권한이 없어서 해당 동작이 실패했지만 권한 수정 후 문제없이 동작이 실행되었고 서버에서 vim으로 파일을 열어 변경된 내용을 확인해 보면 잘 바뀐 것을 확인할 수 있다.
이제 수정된 test.php 페이지를 열어본다.
submit 클릭 시
FTP 연결까지 이상 없이 완료되었다.